Article
FONT SIZE :
fontsize_dec
fontsize_inc
Auteur: Admin
Vues: 4
Date: Mai 16, 2015
Temps: 10:35:16 | 3 années depuis

Faire un menu "fichiers récents"


Comment faire un "fichiers récents" dans le menu/liste simple dans l'application.

Il ya quelque temps, j'ai dû ajouter un "menu Fichiers récents" dans un projet sur lequel je travaille. J'ai donc écrit un composant simple qui devrait être (A) flexible. (B) réutilisables dans d'autres projets. THistory est né smile



Vous pouvez télécharger THistory ici. Faites ce que vous voulez avec elle, mais je apprechiate si vous pouviez me faire savoir si vous l'utilisez dans le programme smile



L'objectif de cet article est de faire un menu simple "rouvrir" (voir image ci-dessous). D'abord un peu de code ', alors je vais essayer d'expliquer ce qu'il fait.







// Liste de mise à jour "Rouvrir" ..

procédure TfrmMain.History1Change (Sender: TObject);

var i: integer;

commencer

avec Reopen1 faire

commencer


Clair;

pour i: = 0 à History1.Count-1 faire

commencer

Ajouter (TMenuItem.Create (auto));

avec Articles [Count-1] faire

commencer


Légende: = '&' + IntToStr (i) + '' + History1.Items [i];

Tag: = i;

OnClick: = GenericReopenClick;

fin;

fin;


Enabled: = Nombre> 0;

// Ajouter retour à la ligne

Ajouter (TMenuItem.Create (auto));

Articles [Count-1] .Caption: = '-';

// Ajouter 'Effacer l'historique »

Ajouter (TMenuItem.Create (auto));

avec Articles [Count-1] faire

commencer


Légende: = "Effacer l'historique»;

Tag: = -1;

OnClick: = GenericReopenClick;

fin;

fin;

fin;




// Rouvrir élément cliqué ...

procédure TfrmMain.GenericReopenClick (Sender: TObject);

commencer

si
TMenuItem (Sender) .Tag> = 0 et alors

OpenFile (History1.Items [TMenuItem (expéditeur) .Tag])

autre

History1.Clear;

fin;



// ...



procédure TfrmMain.OpenFile (FileName: string);

commencer

// Votre code ici ...

History1.AddItem (FileName);

fin;





Notez que ce n'est pas le code pour le composant, vous devez télécharger et installer pour que cela fonctionne. History1Change est l'événement OnChange pour mon article THistory, storia1. Chaque fois qu'un élément est ajouté à la composante histoire de cette procédure est appelée pour que vous sachiez la liste ont été modifiés. Donc, nous recréons simplement le sous-menu de "Reopen1" avec les éléments existants + une rubrique "Effacer l'historique".



GenericReopenClick, la procédure nous avons mis en place tous les éléments de menus OnClick est l'endroit où vous devez mettre le code pour gérer l'événement quand quelqu'un clique sur un élément de notre menu. Je pensais que c'était plus facile d'économiser l'index de chaque élément dans l'histoire des MenuItems propriété Tag correspondant », comme vous pouvez le voir ci-dessus. L'index d'un élément de l'histoire ne peut pas être -1, donc je utilisé pour effacer l'historique.



THistory seule charge peut/sauver est la liste/depuis le fichier ini. Mais l'ajout du support pour d'autres formats tels que le format personnalisé registre, ou il ne devrait pas être un problème.



Si vous trouvez des bugs ou de procéder à des améliorations, s'il vous plaît laissez-moi savoir si je peux le mettre à jour.

Commentaires (0)
Sans commentaires

Ajouter un commentaire

smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile smile smile smile smile
smile smile smile smile
Caractères restants: 3000
captcha