Code source
Code source

  Présentation
  Unités exemple gratuites
  Unités commercialisées
  Conditions d'utilisation
  Comment acheter
  Vendez vos codes
Unités commercialisées

  LRJ_DosDevice
  LRJ_FileMapped
  LRJ_ModifDateTime
  LRJ_ShellUtils
  LRJ_TokenAPI
  LRJ_WinACL
  LRJ_WinBrowseDialog
  LRJ_WinCreateProcess
  LRJ_WinDesktop
  LRJ_WinDirectories
  LRJ_WinDocRecents
  LRJ_WinDrives
  LRJ_WinFavorisWeb
  LRJ_WinFiles
  LRJ_WinIconNotifArea
  LRJ_WinInternetShortcut
  LRJ_WinMenuFolder
  LRJ_WinModule
  LRJ_WinNetApi
  LRJ_WinNetLocalGroups
  LRJ_WinNetUsers
  LRJ_WinPrivileges
  LRJ_WinProcess
  LRJ_WinRecycleBin
  LRJ_WinRegion
  LRJ_WinRegAppPath
  LRJ_WinShellLink
  LRJ_WinShellUI
  LRJ_WinSID
  LRJ_WinStation
  LRJ_WinTokenGroups
  LRJ_WinTrackChangeDir
  LRJ_WinVolumes
  LRJ_WinWorkingSet

   Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact   

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.


 Accueil | GlobalDesk | Code source Delphi | Développements | Votre compte | Contact 
Copyright © LorenJo 2000-2009    Notice légale