Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi ComboBox: OnClick wird bei Tastaturauswahl ausgeführt (https://www.delphipraxis.net/184006-combobox-onclick-wird-bei-tastaturauswahl-ausgefuehrt.html)

Helmi 18. Feb 2015 20:22

ComboBox: OnClick wird bei Tastaturauswahl ausgeführt
 
Hallo,

ich musste leider gerade feststellen, dass in einer Combobox, beim Auswahl eines Items mit der Tastatur
(Style = DropDownList) neben OnSelect auch OnClick ausgeführt wird.

Ich dachte bisher OnClick wird nur bei einem Mausklick ausgeführt.

Nun hab ich ein Problem - ich muss unterscheiben, ob mit der Maus oder mit der Tastatur ein Eintrag ausgewählt wird.

Eine Tastatur-Auswahl hab ich über OnKeyDown ermittelt (+ DroppedDown).
Nur wie kann ich jetzt die Auswahl via Maus selektieren?

[edit]
die einzige Möglichkeit, die ich momentan sehe ist, sich in einer Variablen zu merken, wenn eine Taste gedrückt wurde.
Ist dies der Fall dann in der OnClick-Procedure die Variable abfragen und bei true die Procedure gleich wieder verlassen

himitsu 18. Feb 2015 20:37

AW: ComboBox: OnClick wird bei Tastaturauswahl ausgeführt
 
Hast du schon in die OH geguckt? :zwinker:
http://docwiki.embarcadero.com/Libra...ontrol.OnClick

Und nein, das hab ich da nicht grade noch schnell reingeschrieben. :stupid:


PS: Alt oder die Kontextmenütaste, dann mit den Pfeiltasten ein Menüitem auswählen und Enter -> OnClick
Mit dem Tabulator auf einen Button und dann die Leertaste, oder irgendwo Enter, während Button.Default=True -> OnClick
...


Wieso mußt du das unterscheiden?
Es wäre doch böse, wenn sich das Programm bei einem Tastaturbenutzer anders verhält, wie bei einem Maus- oder Touchscreenbenutzer
und noch schlimmer, wenn jemand alles mal benutzt.

Helmi 18. Feb 2015 20:42

AW: ComboBox: OnClick wird bei Tastaturauswahl ausgeführt
 
Zitat:

Zitat von himitsu (Beitrag 1290483)
Hast du schon in die OH geguckt?

Wer liest schon Anleitungen? :P


Zitat:

Zitat von himitsu (Beitrag 1290483)
Und nein, das hab ich da nicht grade noch schnell reingeschrieben. :stupid:

Schwöre es! :-D (Hinweis!)

Zitat:

Zitat von himitsu (Beitrag 1290483)
PS: Alt oder die Kontextmenütaste, dann mit den Pfeiltasten ein Menüitem auswählen und Enter -> OnClick
Mit dem Tabulator auf einen Button und dann die Leertaste, oder irgendwo Enter, während Button.Default=True -> OnClick
...

Dank dir!

War etwas überrascht

Ich behelf mir jetzt mit der Variablen, die ich setze wenn eine Taste gedrückt wird und rückgesetzt wenn eine Taste nicht mehr gedrückt ist

himitsu 18. Feb 2015 20:53

AW: ComboBox: OnClick wird bei Tastaturauswahl ausgeführt
 
Liste der Anhänge anzeigen (Anzahl: 1)
Anhang 42589 Link

Zitat:

Zitat von himitsu (Beitrag 1290483)
Wieso mußt du das unterscheiden?
Es wäre doch böse, wenn sich das Programm bei einem Tastaturbenutzer anders verhält, wie bei einem Maus- oder Touchscreenbenutzer
und noch schlimmer, wenn jemand alles mal benutzt.


Helmi 18. Feb 2015 21:00

AW: ComboBox: OnClick wird bei Tastaturauswahl ausgeführt
 
Zitat:

Zitat von himitsu (Beitrag 1290483)
Wieso mußt du das unterscheiden?
Es wäre doch böse, wenn sich das Programm bei einem Tastaturbenutzer anders verhält, wie bei einem Maus- oder Touchscreenbenutzer
und noch schlimmer, wenn jemand alles mal benutzt.

Ja, ist gewollt.

Wobei erstmal das nicht erkennbar ist.

Die Auswahl erfolgt per Tastatur mittels Auswahl + Übernahme mit Enter
Die Mausauswahl via Klick auf´s Item.

Nur wird bei mir nach einer Auswahl eine Kommunikation aktiv, die erst aktiv werden soll, wenn die Auswahl durchgeführt wurde.


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:25 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz