Machen einen "zuletzt geöffnete Dateien" im Menü

Machen einen "zuletzt geöffnete Dateien" im Menü


Wie man eine einfache 'zuletzt verwendet' Liste/Menü in Ihrer Anwendung.

Vor einiger Zeit hatte ich in einem Projekt arbeite ich an einer 'zuletzt verwendeten Dateien im Menü' hinzufügen. Also schrieb ich eine einfache Komponente, die (A) sollte flexibel. (B) kann in anderen Projekten wieder verwendet. THistory geboren :)



THistory können Sie hier herunterladen. Mach was du willst mit ihm, aber ich würde Funktionsvielfalt, wenn Sie könnten mich wissen, wenn Sie es in Ihrem Programm verwenden :)



Ziel dieses Artikels ist es, eine einfache 'Öffnen' im Menü machen (siehe Bild unten). Zuerst code einige, dann ich versuchen werde zu erklären, was es tut.



THistory.gif



Aktualisieren Sie die Liste 'Öffnen'...

Verfahren TfrmMain.History1Change(Sender: TObject);

Var i: Integer;

beginnen

mit Reopen1 tun

beginnen


Löschen;

für i: = 0 , History1.Count-1 tun

beginnen

Add(TMenuItem.Create(Self));

mit Artikel [Count-1] zu tun

beginnen


Caption: = '&' + IntToStr(i) +' ' + History1.Items[i];

Tag: = i;

OnClick: = GenericReopenClick;

Ende;

Ende;


Aktiviert: = Count > 0;

/ / Add Linebreak

Add(TMenuItem.Create(Self));

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

/ / Add 'Verlauf leeren'

Fügen Sie hinzu (TMenuItem.Create(self));


mit Artikel [Count-1] zu tun

beginnen


Bildunterschrift: = 'Verlauf löschen';

Tag: =-1;

OnClick: = GenericReopenClick;

Ende;

Ende;

Ende;




Öffnen Sie das Element geklickt...

Verfahren TfrmMain.GenericReopenClick(Sender: TObject);

beginnen

Wenn
TMenuitem(Sender). Tag > = 0 dann

OpenFile(History1.Items[TMenuitem(Sender). Tag])

sonst

History1.Clear;

Ende;



//...



Verfahren TfrmMain.OpenFile(FileName: string);

beginnen

/ / Ihr code hier...

History1.AddItem(filename);

Ende;





Hinweis: Dies ist nicht der Code für die Komponente, Sie herunterzuladen und zu installieren, damit dies funktioniert müssen. History1Change ist das OnChange-Ereignis für meine THistory-Objekt History1. Jedes Mal, wenn ein Element in die Geschichte-Komponente hinzugefügt wird, ruft diese Prozedur aufgerufen, damit wir wissen, die Liste geändert wurden. Also neu erstellen wir einfach das Untermenü von 'Reopen1' mit den aktuellen Elemente + eine 'Klare Geschichte'-Element.



GenericReopenClick, das Verfahren setzen wir auf alle Menuitems OnClick ist wo Sie den Code für die Ereignisbehandlung, wo jemand auf ein Element in unserem Menü geklickt setzen würde. Ich dachte, war es am einfachsten, den Index jedes Elements Geschichte in die Tag-Eigenschaft der entsprechenden MenuItems zu speichern, wie Sie oben sehen können. Der Index des Kaufobjektes Geschichte kann nie-1 sein, so dass ich es verwendet, um den Verlauf zu löschen.



THistory kann nur laden/es ist Liste auf Ini-Dateien speichern. Aber Hinzufügen von Unterstützung für andere Formate wie die Registrierung oder ein benutzerdefiniertes Format sollte kein Problem sein.



Wenn Sie irgendwelche Fehler finden oder Verbesserungsvorschläge zu machen, lass es mich wissen, damit ich es aktualisieren können.








Machen einen "zuletzt geöffnete Dateien" im Menü


Machen einen "zuletzt geöffnete Dateien" im Menü : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Wie man eine einfache 'zuletzt verwendet' Liste/Menü in Ihrer Anwendung.

Vor einiger Zeit hatte ich in einem Projekt arbeite ich an einer 'zuletzt verwendeten Dateien im Menü' hinzufügen. Also schrieb ich eine einfache Komponente, die (A) sollte flexibel. (B) kann in anderen Projekten wieder verwendet. THistory geboren :)



THistory können Sie hier herunterladen. Mach was du willst mit ihm, aber ich würde Funktionsvielfalt, wenn Sie könnten mich wissen, wenn Sie es in Ihrem Programm verwenden :)



Ziel dieses Artikels ist es, eine einfache 'Öffnen' im Menü machen (siehe Bild unten). Zuerst code einige, dann ich versuchen werde zu erklären, was es tut.



THistory.gif



Aktualisieren Sie die Liste 'Öffnen'...

Verfahren TfrmMain.History1Change(Sender: TObject);

Var i: Integer;

beginnen

mit Reopen1 tun

beginnen


Löschen;

für i: = 0 , History1.Count-1 tun

beginnen

Add(TMenuItem.Create(Self));

mit Artikel [Count-1] zu tun

beginnen


Caption: = '&' + IntToStr(i) +' ' + History1.Items[i];

Tag: = i;

OnClick: = GenericReopenClick;

Ende;

Ende;


Aktiviert: = Count > 0;

/ / Add Linebreak

Add(TMenuItem.Create(Self));

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

/ / Add 'Verlauf leeren'

Fügen Sie hinzu (TMenuItem.Create(self));


mit Artikel [Count-1] zu tun

beginnen


Bildunterschrift: = 'Verlauf löschen';

Tag: =-1;

OnClick: = GenericReopenClick;

Ende;

Ende;

Ende;




Öffnen Sie das Element geklickt...

Verfahren TfrmMain.GenericReopenClick(Sender: TObject);

beginnen

Wenn
TMenuitem(Sender). Tag > = 0 dann

OpenFile(History1.Items[TMenuitem(Sender). Tag])

sonst

History1.Clear;

Ende;



//...



Verfahren TfrmMain.OpenFile(FileName: string);

beginnen

/ / Ihr code hier...

History1.AddItem(filename);

Ende;





Hinweis: Dies ist nicht der Code für die Komponente, Sie herunterzuladen und zu installieren, damit dies funktioniert müssen. History1Change ist das OnChange-Ereignis für meine THistory-Objekt History1. Jedes Mal, wenn ein Element in die Geschichte-Komponente hinzugefügt wird, ruft diese Prozedur aufgerufen, damit wir wissen, die Liste geändert wurden. Also neu erstellen wir einfach das Untermenü von 'Reopen1' mit den aktuellen Elemente + eine 'Klare Geschichte'-Element.



GenericReopenClick, das Verfahren setzen wir auf alle Menuitems OnClick ist wo Sie den Code für die Ereignisbehandlung, wo jemand auf ein Element in unserem Menü geklickt setzen würde. Ich dachte, war es am einfachsten, den Index jedes Elements Geschichte in die Tag-Eigenschaft der entsprechenden MenuItems zu speichern, wie Sie oben sehen können. Der Index des Kaufobjektes Geschichte kann nie-1 sein, so dass ich es verwendet, um den Verlauf zu löschen.



THistory kann nur laden/es ist Liste auf Ini-Dateien speichern. Aber Hinzufügen von Unterstützung für andere Formate wie die Registrierung oder ein benutzerdefiniertes Format sollte kein Problem sein.



Wenn Sie irgendwelche Fehler finden oder Verbesserungsvorschläge zu machen, lass es mich wissen, damit ich es aktualisieren können.

Machen einen "zuletzt geöffnete Dateien" im Menü

Machen einen "zuletzt geöffnete Dateien" im Menü : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Machen einen
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung