![]() |
Seltsames Klickverhalten in Combobox
Hallo liebe Delphi Gemeinde,
ich habe ein Combobox-Problem, das ich vorher mit Delphi 5 nicht hatte. Jetzt nutze ich Delphi 2009. Die Combobox arbeitet im Style=csDropDownList und ist mit Daten gefüllt. Wenn ich mit der Maus darauf klicke, kann ich mit der Tastatur den entsprechenden Eintrag vorwählen und mit einem Mausklick übernehmen. Früher hat er die Auswahl auch übernommen, wenn ich nach der Tastatur-Vorauswahl mit der Maus außerhalb geklickt habe, um einem anderen Element den Fokus zu geben. Wie bekomme ich es wieder hin, dass er automatisch den vorselektierten Eintrag übernimmt? Wie gesagt, unter Delphi 5 klappte das bisher so. Danke... |
AW: Seltsames Klickverhalten in Combobox
man könnte fieserweise auch das Klickereignis manuell auslösen.
|
AW: Seltsames Klickverhalten in Combobox
Weißt Du auch wie? Ich bekomme es nämlich nicht hin.
Da die Selektion ja bei einer Pfeiltasten-Auswahl und "Auswärts"-Klick übernommen wird, habe ich es auch schon bei
Delphi-Quellcode:
mit einer Simluation von VK_UP und VK_DOWN versucht, aber da hängt er in einer Endlosschleife, obwohl ich das Ereignis vor Ausführung auf NIL setze.
OnKeyDown
|
AW: Seltsames Klickverhalten in Combobox
Ich hätte es jetzt so gemacht:
Delphi-Quellcode:
Objekt.OnNotifyEreignis(Objekt);
|
AW: Seltsames Klickverhalten in Combobox
mh.. kann ich nicht reproduzieren.
Ohne zusätzliche events, wird mit den Pfeiltasten die selektierte übernommen. Egal wo ich danach mit der Maus hinklicke. €: Kann es sein das Du im onChangeereignis was machst? Mit Maus die Liste überfahren(also move) wird kein klick Ereigniss ausgeführt. War schon immer so! Das musste man selber schreiben:wink: Gruss alfold |
AW: Seltsames Klickverhalten in Combobox
Zitat:
Wenn man die Items neu definiert, wird automatisch ein Änderungsereignis ausgelöst (für die Combobox, nicht für die Liste!). Die Ereignisse unterscheiden sich auch noch je nach eingestelltem Style. Ich habe daher eine ganze Weile gebraucht, die ComboBox auf meine Zwecke anzupassen (diese benutzt jetzt Eigenschaften von Objekten zur Darstellung, ähnlich wie eine DBComboBox). Den Code kann ich bei Bedarf gern zeigen, der ist aber wohl schwer allgemein nutzbar. |
AW: Seltsames Klickverhalten in Combobox
Zitat:
Ich habe mir jetzt folgendermaßen geholfen, indem ich die Pfeiltasten im OnKeyDown Event simuliere:
Delphi-Quellcode:
procedure TMyDlg.ComboBoxKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState); begin ComboBox.OnKeyDown := NIL; PostKeyEx32(VK_DOWN, [], False); PostKeyEx32(VK_UP, [], False); Application.ProcessMessages; ComboBox.OnKeyDown := ComboBoxKeyDown; end; ![]() Ist jedoch nicht die feine englische Art. Zumal die Lösung nicht funktioniert, wenn ich den letzten Eintrag selektieren will. ich bekomme aber leider nicht raus, welchen er selektiert hat, da das ItemIndex sich bei Buchstabeneingaben nicht ändert. |
AW: Seltsames Klickverhalten in Combobox
Na aber, dafür musst du das onChangeereignis benutzen und dann durch die Liste irritieren damit wird der Ausdruck selektiert und auch gleich angezeigt. Das hat nix mit Mouse zu tun. Das hast Du oben nicht erwähnt!
alfold |
AW: Seltsames Klickverhalten in Combobox
Sorry, ich erkläre es genauer.
Ich klicke mit der Maus auf den rechten Pfeil der Combobox und gebe nur den Buchstaben F ein, um zu dem Eintrag zu springen, der mit F beginnt. Er spingt auch dahin. Man könnte denken, der Eintrag sei selektiert. Also klicke ich mit der Maus z.B. in das nächste Eingabefeld. *schwupps* Die Combobox springt wieder zur vorherigen Auswahl. Wie gesagt, wenn man die Pfeiltasten nutzt, wird die Auswahl selektiert und beim Wegklicken - und somit Schließen der Combobox-Auswahl - der Eintrag übernommen. |
AW: Seltsames Klickverhalten in Combobox
Kann auch diesen effekt nicht reproduzieren. Egal wo ich nach Eingabe des Buchstaben hinklicke, es steht sofort der volle string in der Eingabe und er bleibt! :gruebel:
alfold |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:40 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