|
|
|

| | | | | | | | |  |
 | 
 | Code source : unité LRJ_WinDocRecents |  |

|  |
 | |  |

|
Description : cette unité contient les objets LRJ_TDocRecentsList et LRJ_TRecentDocItem.
LRJ_TDocRecentsList contient les options et propriétés de la liste des documents récents importés
de Windows ainsi que la liste des LRJ_TRecentDocItem qui encapsulent les documents récents.
L'unité est livrée avec une application de démonstration (
voir description plus loin
) qui utilise les fonctionnalités des
objets contenus dans l'unité. Les codes de l'application
sont livrés avec l'unité pour illustrer comment utiliser les objets de
cette unité. Les codes de l'application de démonstration sont également
visibles à la fin de cette page comme exemple d'utilisation.
L'unité LRJ_WinDocRecents met en oeuvre les fonctions et interfaces de Windows suivantes :
|
|
IShellFolder
IShellIcon
SHGetFileInfo
et des fonctions et objets importés des unités importées.
|
Déclarations publiques de l'unité
I
Télécharger l'application de démonstration
I
Exemples d'utilisations
Utilise les unités : Windows, Classes, ActiveX, ShlObj, SysUtils, Controls,
ShellAPI, ImgList, Menus,
LRJ_ClassesPlus,
LRJ_WindowsPlus,
LRJ_ShellUtils et
LRJ_WinShellLink.
Version : 1.1 du 10.05.2009
Auteur : Laurent Hède
Copyright : LorenJo
Nombre de lignes : 378
Réalisée sous : Delphi 6
Systèmes compatibles : NT4, 2000, XP, Vista, serveurs
Prix : 84.00 € H.T.
Déclarations publiques de l'unité :
unit LRJ_WinDocRecents;
interface
uses
Windows,
Classes,
ActiveX,
ShlObj,
SysUtils,
Controls,
ShellAPI,
ImgList,
Menus,
LRJ_ClassesPlus,
LRJ_WindowsPlus,
LRJ_ShellUtils,
LRJ_WinShellLink;
type
LRJ_TDocRecentsList = class;
//-----------OBJECT--------------------------
LRJ_TRecentDocItem = class(TObject)
...................
property FullFileName: string read MOFileName;
property FileName: string read GetFileName;
property IconIndex: integer read GetIconIndex;
end; //-----------FIN--------------------------
LRJ_TOnClickRecentDocItem = procedure (sender : LRJ_TRecentDocItem) of object;
//-----------OBJECT--------------------------
LRJ_TDocRecentsList = class(TComponent)
...................
procedure RefreshList;
function Count: integer;
procedure ChargeToMenu(const AMenu: TMenuItem);
property DisplayName: string read GetDisplayName;
property PathDirectory: string read GetPathDirectory;
property SmallIcon: boolean read GetIfSmallIcon write SetIfSmallIcon;
property TriAlphabetique: boolean read MOTriAlphabetique write MOTriAlphabetique;
property MaxItemInMenu: integer read MOMaxItemInMenu write MOMaxItemInMenu;
property ImageList: TImagelist read GetImageList;
property OnClick: LRJ_TOnClickRecentDocItem read MOOnClickItem write MOOnClickItem;
property Item[const index: integer]: LRJ_TRecentDocItem read GetItem;
end; //-----------FIN--------------------------
|
Application de démonstration


L'application de démonstration charge à l'ouverture le nom standard du répertoire mes
documents récents ainsi que le répertoire où se situe les raccourcis.
Les options permettent de choisir si les icônes du menu seront petites ou grandes,
si les items du menu seront ou non triés alphabétiquement et le nombre d'items contenus
dans le menu.
Pour faire apparaître le menu, cliquez sur "Show menu".
Exemples d'utilisations
Codes de l'application de démonstration
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, StdCtrls, Spin, ExtCtrls, ShellAPI,
LRJ_WinDocRecents;
type
TForm1 = class(TForm)
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
GroupBox1: TGroupBox;
CheckBox1: TCheckBox;
RadioGroup1: TRadioGroup;
Label1: TLabel;
SpinEdit1: TSpinEdit;
PopupMenu1: TPopupMenu;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure RadioGroup1Click(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure SpinEdit1Change(Sender: TObject);
private
MODocRecents: LRJ_TDocRecentsList;
procedure OnClickItem(sender : LRJ_TRecentDocItem);
public
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
{--------------------------------------------------------------}
procedure TForm1.FormCreate(Sender: TObject);
begin
MODocRecents := LRJ_TDocRecentsList.Create(self);
MODocRecents.OnClick := OnClickItem;
SpinEdit1.Value := MODocRecents.MaxItemInMenu;
Edit1.Text := MODocRecents.DisplayName;
Edit2.Text := MODocRecents.PathDirectory;
end;
{--------------------------------------------------------------}
procedure TForm1.FormDestroy(Sender: TObject);
begin
MODocRecents.Free;
end;
{--------------------------------------------------------------}
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
if RadioGroup1.ItemIndex = 0 then MODocRecents.SmallIcon := true else MODocRecents.SmallIcon := false;
end;
{--------------------------------------------------------------}
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
MODocRecents.TriAlphabetique := CheckBox1.Checked;
end;
{--------------------------------------------------------------}
procedure TForm1.SpinEdit1Change(Sender: TObject);
begin
MODocRecents.MaxItemInMenu := SpinEdit1.value;
end;
{--------------------------------------------------------------}
procedure TForm1.Button1Click(Sender: TObject);
var
zPoint: TPoint;
begin
zPoint.X := 0;
zPoint.Y := Button1.Height;
zPoint := Button1.ClientToScreen(zPoint);
PopupMenu1.Items.Clear;
MODocRecents.RefreshList;
MODocRecents.ChargeToMenu(PopupMenu1.Items);
PopupMenu1.Popup(zPoint.X,zPoint.Y);
end;
{--------------------------------------------------------------}
procedure TForm1.OnClickItem(sender : LRJ_TRecentDocItem);
var
zFullName: string;
begin
zFullName := sender.FullFileName;
ShellExecute(0, nil, PChar(zFullName), nil, PChar(ExtractFileDir(zFullName)), SW_SHOWDEFAULT);
end;
{--------------------------------------------------------------}
end.
|
Vous n'avez pas trouvé d'exemple répondant à votre problématique ?
Cliquez sur ce lien.
|
|
 |
 | |  |
|
|