![]() |
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Zitat:
Zitat:
Zitat:
Zitat:
Zitat:
|
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Zitat:
Zitat:
|
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Im Anhang Zitat:
|
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Nun, ich hab mir den Source angeschaut, und nach ein paar Anpassungen mit D7 ausprobiert.
Ich konnte kein Fehlverhalten erkennen. Es ist übrigens nie verkehrt, wenn man Oberfläche und Daten, in Deinem Fall die Daten für die Auswahl, voneinander trennt. Und die Verwendung von halbwegs sprechenden Namen für Variablen ist eigentlich auch kein Fehler. Gruß K-H |
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Auch ich habe mir den Source angeschaut, allerdings mit Lazarus.
Dabei habe ich festgestellt, dass die Property .ItemIndex im OnChange-Ereignis hinterherhinkt, wenn man zum Beispiel den Letzten Buchstaben eines Eintrages im Eingabefeld löscht. Auch bei anderen Events ist ein "Fehlverhalten" zu entdecken. Folgende Lösung funktioniert im OnChange (und in den anderen Events): Im OI die Property AutoComplete der ComboBox auf "false" setzen. Im OnChange-Ereignis nicht die Property ItemIndex verwenden, sondern den ItemIndex, welcher zum Text passt, selbst ermitteln.
Delphi-Quellcode:
procedure TForm1.ComboBox1Change(Sender: TObject);
begin case ComboBox1.Items.IndexOf(ComboBox1.Text) of 14: begin ComboBox3.Items.Clear; ComboBox3.Items.Add('Nanometer'); ComboBox3.Items.Add('Mikrometer'); ComboBox3.Items.Add('Millimeter'); ComboBox3.Items.Add('Zentimeter'); ComboBox3.Items.Add('Dezimeter'); ComboBox3.Items.Add('Meter'); ComboBox3.Items.Add('Dekameter'); ComboBox3.Items.Add('Hektometer'); ComboBox3.Items.Add('Kilometer'); end; else begin ComboBox3.Items.Clear; end; end; end; |
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Zitat:
Zitat:
Zitat:
|
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab mal schnell zum Testen der Events und der Property .ItemIndex einer ComboBox ein Quick'n'Dirty-Programm generiert.
Zip-Datei enthält: Source für Lazarus Projekt-Dateien ausführbare Exe (erstellt mit Lazarus 1.4RC2) Im Memo sieht man den Namen der Combo, das Event, Property . ItemIndex und als letztes den ermittelten Index des Textes in der Itemsliste. Hier werden die Unterschiede deutlich. |
AW: Auswahl eines ComboBox-Elements per ENTER/durch das System
Danke für das Programm. Ich seh, was Du meinst (@BadenPower).
Hab's nochmal versucht und irgendwie klappt's jetzt per KeyDown: Nach dem ersten Enter wird der Text der ComboBox vervollständigt, nach einem zweiten die eigentliche Prozedur ausgelöst. Kann ich irgendwo einstellen, dass durch das erste Enter-Klicken erst der Text vervollständigt wird und danach - durch Berufung auf diesen Text - die Prozedur ausgeführt wird? Bzw wo finde ich die Prozedur dafür, dass durch Enter der Text vervollständigt wird? Könnte ich dort nicht einfach meine Prozedur hinzupacken? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:43 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