Registriert seit: 17. Mär 2010
Ort: Wien
1.027 Beiträge
RAD-Studio 2009 Pro
|
Combobox: im Onselect Text ändern geht nicht
15. Mai 2015, 22:22
In der Stringliste meiner Combobox befindet sich, je nach Land, in dem sich der gerade bearbeitete Kunde befindet, die Österreichische oder die Deutsche Postleitzahlentabelle mit allen zugehörigen Orten. Die Beziehung ist leider nicht 1:1, zu vielen Orten gibt es mehrere Postleitzahlen und zu vielen Postleitzahlen mehrere Orte.
Ich würde gerne, nachdem der User einen Eintrag ausgewählt hat, den Ortsnamen aus dem Text der Combobox weglöschen und den entsprechenden Text ins darunter liegende Edit-Feld Ort eintragen.
Letzteres funktioniert sowohl im Onselect als auch im Oncloseup problemlos, aber ich schaffe es nicht, dem Combobox.text den gekürzten Text mit nur der Postleitzahl zu füttern.
Dieses zeigt überhaut keine Wirkung, weder im Onselect noch im oncloseup:
TCombobox(sender).text:=copy(TCombobox(sender).Items[TCombobox(sender).Itemindex],1,4);
offenbar wird der Text der Combobox erst nach Abarbeitung meiner OnSelect Routine gesetzt.
Wenn ich ein
TCombobox(sender).Itemindex:=-1
hinzufüge, dann löscht mir das Programm den Inhalt der Combobox komplett, auch dann bleibt meine Zuweisung natürlich auch wirkungslos. Ein Ereignis, das nach der Zuweisung des Textes an die Combobox durch das Programm zur Vefügung stehen würde, und in dem ich dann den Text ändern könnte, finde ich nicht.
Ich habe jetzt schon daran gedacht, mit einem Timer 200ms nach dem Schliessen der Combobox den Ortsnamen herauszulöschen, aber irgendwie erscheint mir das doch recht russisch.
|