Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jaenicke,
14. Apr 2009
Das Problem ist, dass bei einer Änderung des ItemIndex die Information über die Änderung nicht an die Komponente geschickt wird (wie bei einer Änderung durch den Benutzer), sondern dass die Komponente die Änderung an das Control schickt. Und deshalb bekommt man davon eben nichts mit.
Ganz einfach, weil es eben normalerweise hinderlich wäre, wenn auch eigene Aktionen per Code das Event...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jaenicke,
14. Apr 2009
Dann leite dir eine eigene TListBox ab oder schreibe einfach eine Prozedur, der du den neuen Wert übergibst und die dann den OnClick-Handler direkt mit aufruft. Dann ist es auch nur noch eine statt zwei Zeilen...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by jaenicke,
14. Apr 2009
Das ist doch (Entschuldigung) Schwachsinn, wenn du selbst das im Programm änderst, dann hast du doch bereits Code, der ausgeführt wird, wenn der ItemIndex sich ändert...
Du machst also einen Handler für OnClick der ListBox und wenn du selbst den ItemIndex änderst, dann rufst du den auch gleich auf. Wenn der User den ItemIndex ändert, wird der automatisch aufgerufen.