![]() |
Problem mit ComboBox.Text im OnChange Event
Hallo zusammen,
Ich Habe in einer ComboBox die Items : A,B,C,D,E und möchte wenn ich eins davon ausgewählt habe jeweils 1,2,3,4,5(Die Zahlen stehen nur symbolisch für irgendwelche Wörter) anzeigen lassen, d.h. ich schreibe im OnChange
Delphi-Quellcode:
Allerdings wird danach auf einmal der Text wieder zurück auf A,B,C,D bzw. E gesetzt.
case ComboBox.Itemindex of
0: ComboBox.Text:='1'; 1: ComboBox.Text:='2'; 2: ComboBox.Text:='3'; 3: ComboBox.Text:='4'; 4: ComboBox.Text:='5'; end; Habe jetzt einen Timer genommen der den Wert nach 20 ms in die ComboBox schreibt, find es allerdings etwas...naja nicht ganz sooo schön. Weis jemand wie ich das in dem OnChange Ereignis reinschreiben kann? Danke schonmal :angel: |
Re: Problem mit ComboBox.Text im OnChange Event
Das wird so nicht gehen.
Als Alternative wäre da noch, das Du den Inhalt der Comboxbox selbst zeichnest. Je nach ItemIndex einen anderen Text anzeigen. |
Re: Problem mit ComboBox.Text im OnChange Event
Hallo,
Du darfst in diesem Fall nicht ComboBox.Text nehmen, sondern ComboBox.Items. Worin der Unterschied besteht, siehe
Delphi-Quellcode:
ComboBox.Items[ComboBox.ItemIndex]:=IntToStr(ComboBox.ItemIndex+1);
// ComboBox.Update; |
Re: Problem mit ComboBox.Text im OnChange Event
Da wären aber die Items ABCD weg. Und das wird er nicht wollen.
|
Re: Problem mit ComboBox.Text im OnChange Event
Warum soll ich mir in einer ComboBox A-E auswählen und dann sollen die Worte '1' - '5' erscheinen?
Dies erscheint mir völlig unlogisch, da kann ich doch gleich die Worte wählen oder :?: |
Re: Problem mit ComboBox.Text im OnChange Event
Zitat:
Items: grün blau rot Anzeige gefärbt entspr. ItemIndex oder Items: stk (Stückzahl) kg (Kilogramm) l (Liter) Anzeige stk kg l usw. |
Re: Problem mit ComboBox.Text im OnChange Event
Wenn ich alles richtig verstehe, dann geht es um eine Lookup-Funktion analog der Komponente TDBLookupCombobox. Ich würde eine Komponente TLookupComboBox von der Standard-ComboBox ableiten, aber auf die Schnelle funktioniert dieser Ansatz:
Delphi-Quellcode:
Eine private message an die Form aus dem Ereignis OnClick() der ComboBox wäre ein weiterer Ansatz. Unabhängig vom Lösungsansatz beschleicht mich aber ein Gefühl von Unbehagen.
procedure TDemoForm.ComboBoxDropDown(Sender: TObject);
var i: Integer; begin with Sender as TComboBox do begin i := ItemIndex; Items.CommaText := 'Kilogramm,Paket,Stück'; ItemIndex := i; end; end; procedure TDemoForm.ComboBoxCloseUp(Sender: TObject); var i: Integer; begin with Sender as TComboBox do begin i := ItemIndex; Items.CommaText := 'Kg,Pk,St'; ItemIndex := i; end; end; Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:23 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