Machen Sie eine Menü "Neueste Dateien"

Wie man ein einfaches "Neueste Dateien" Menü/Liste in der Anwendung zu machen.

Vor einiger Zeit hatte ich einen "Recent Files-Menü" in einem Projekt arbeite ich auf hinzufügen. Also schrieb ich eine einfache Komponente, die (A) flexibel sein sollte. (B) in anderen Projekten wiederverwendbar. THistory geboren smile



Sie können hier THistory herunterladen. Tun, was man will, aber ich würde apprechiate wenn Sie lassen Sie mich wissen, wenn Sie es in das Programm zu verwenden smile



Das Ziel dieses Artikels ist es, ein einfaches Menü machen "öffnen" (siehe Bild unten). Zunächst ein wenig "Code, dann werde ich versuchen zu erklären, was es tut.







// Update-Liste "Öffnen" ..

Verfahren TfrmMain.History1Change (Sender: TObject);

var i: integer;

Start

mit Reopen1 tun

Start


Klar;

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

Start

Hinzufügen (TMenuItem.Create (auto));

mit Produkte [Count-1] tun

Start


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

Tag: = i;

OnClick: = GenericReopenClick;

Ende;

Ende;


Enabled: = Count> 0;

// Zeilenumbruch hinzufügen

Hinzufügen (TMenuItem.Create (auto));

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

// Add 'Clear History "

Hinzufügen (TMenuItem.Create (auto));

mit Produkte [Count-1] tun

Start


Caption: = 'Clear History ";

Tag: = -1;

OnClick: = GenericReopenClick;

Ende;

Ende;

Ende;




// Wieder öffnen Artikel angeklickt ...

Verfahren TfrmMain.GenericReopenClick (Sender: TObject);

Start

wenn
TMENUITEM (Sender) .Tag> = 0 und dann

Openfile (History1.Items [TMENUITEM (Absender) .Tag])

andere

History1.Clear;

Ende;



// ...



Verfahren TfrmMain.OpenFile (Filename: string);

Start

// Ihr Code hier ...

History1.AddItem (Filename);

Ende;





Beachten Sie, dass dies nicht der Code für die Komponente, müssen Sie herunterladen und installieren, damit das funktioniert. History1Change ist das OnChange-Ereignis für mein Einzel THistory, storia1. Jedes Mal, wenn ein Artikel zur Geschichte Komponente dieses Verfahren genannt, so dass Sie wissen, die Liste aufgenommen wurden geändert. Also haben wir einfach die neu Untermenü von "Reopen1" mit vorhandenen Elemente + ein Artikel "Verlauf löschen".



GenericReopenClick, das Verfahren, das wir alle Menüpunkte einrichten OnClick ist, wo Sie sollten den Code zu setzen, um das Ereignis zu behandeln, wenn jemand klickt auf einen Artikel auf unserer Speisekarte. Ich dachte, es war leichter, den Index der einzelnen Elemente in der Geschichte der Tag-Eigenschaft passenden MenuItems 'speichern, wie Sie oben sehen können. Der Index eines Elements der Geschichte nicht -1 sein, damit ich verwendet, um die Geschichte zu löschen.



THistory kann nur laden/speichern ist die Liste auf/von INI-Datei. Aber die Unterstützung für andere Formate wie benutzerdefinierte Format Registrierung oder sollte es kein Problem sein.



Wenn Sie irgendwelche Fehler finden oder machen Sie Verbesserungs, lass es mich wissen, damit ich es zu aktualisieren.

(0)
(0)

Kommentare - 0

Keine Kommentare

Fügen Sie einen Kommentar

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
Zeichen übrig: 3000
captcha