![]() |
ListBox Event?
Hi!
Ich möchte, dass folgender Code immer dann ausgeführt wird, wenn etwas mit der ListBox-Komponente gemacht wird (löschen und hinzufügen von Items).
Delphi-Quellcode:
ListBox1.Items.SaveToFile(GAD+'WallpaperData.txt');
Das wichtige ist, dass die Textdatei immer wieder überschrieben wird, wenn das Event ausgelöst wird! MfG Cruso |
Re: ListBox Event?
Delphi-Quellcode:
procedure TForm1.Loeschen( i:Integer );
begin ListBox1.Items.Delete(i); ListBox1.Items.SaveToFile( FileName ); end; procedure TForm1.Hinzufuegen( s:string ); begin ListBox1.Items.Add(s); ListBox1.Items.SaveToFile( FileName ); end; |
Re: ListBox Event?
Aber es müsste doch auch ein Event geben (wie z.B. OnData oder so ähnlich), das immer dann ausgelöst wird, wenn eine Veränderung an der ListBox vorgenommen wird?!
|
Re: ListBox Event?
|
Re: ListBox Event?
Zitat:
Ja leider! Danach hatte ich auch schon gesucht! |
Re: ListBox Event?
Moin,
was spricht denn gegen sniper_w's Vorschlag ? |
Re: ListBox Event?
Er ist unelagent und umständlich. Meine Lösung wäre eine neue Komponente von der Listbox abzuleiten und um die gewünschte Funktionalität zu erweitern.
|
Re: ListBox Event?
das OnChange gibts gewissermaßen schon. Und zwar wäre das "Listbox.Items.onChange".
Dieses ist jedoch schon zugewiesen damit die grafische Komponente die Änderungen mitbekommt. Jedoch ist es auch ohne Probleme möglich das umzubiegen.
Delphi-Quellcode:
private
fOldLBChange: TNotifyEvent; procedure FLBChangedProc(Sender: TObject); [...] fOldLBChange := Listbox1.Items.OnChange; Listbox1.Items.OnChanged := FLBChangedProc; [...] procedure TYourClass.FLBChangedProc(Sender: TObject); begin fOldLBChanged(Sender); //SaveToFile end; |
Re: ListBox Event?
Zitat:
Macht er es so mit den beiden Prozeduren hat er die Lösung, wenn man sich eine Komponente ableiten will muss man sich auf jeden Fall mehr mit dem Thema beschäftigen. |
Re: ListBox Event?
Es hat ja auch niemand behauptet, dass der beste Weg immer der einfachste sein muss ;)
Wobei ich zugeben muss, dass ich (sofern die Listbox nur von wenigen verschiedenen Stellen im Code angesprochen wird) wohl ebenfalls sniper_w's Code nehmen würde--pure Faulheit. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz