![]() |
TComboBox.OnChange: Wiederholten Aufruf durch Auswahl des selben Items verhindern?
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn man in einer TComboBox-Dropdown-Liste mehrmals hintereinander denselben Eintrag auswählt, wird jedesmal wieder der OnChange-Event aufgerufen. Eigentlich steht das ja im Widerspruch zur semantischen Bedeutung des Wortes "Change", denn es findet beim wiederholten Aufruf desselben Eintrages ja kein "Wechsel" der Eigenschaft ItemIndex statt.
Um zu verhindern, dass beim wiederholten Aufruf desselben Eintrages die Aktion im OnChange Event-Handler wiederholt aufgerufen wird, verwende ich folgenden Code:
Delphi-Quellcode:
Hier ist ein einfaches Projekt, welches das demonstriert:
procedure TForm1.FormCreate(Sender: TObject);
begin cbbTest.Tag := cbbTest.ItemIndex; end; procedure TForm1.cbbTestChange(Sender: TObject); begin if cbbTest.Tag <> cbbTest.ItemIndex then begin cbbTest.Tag := cbbTest.ItemIndex; // diese Aktion wird nur bei Auswahl eines ANDEREN Eintrages ausgeführt: CodeSite.Send('TForm1.cbbTestChange: ', cbbTest.Items[cbbTest.ItemIndex]); end; end; Anhang 53525 Es wäre wünschenswert, wenn man den Aufruf von OnChange bei der wiederholten Auswahl desselben Eintrages durch simples Setzen einer Eigenschaft in der ComboBox verhindern könnte. Kennt jemand eine solche ComboBox? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:53 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 by Thomas Breitkreuz