Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by daddy,
27. Apr 2007
BerndS schrieb:
Das stimmt, aber wie kann ich im "OnClick" erkennen, dass die Maus gedrückt wurde, ohne etwas in "OnMouseUp" programmieren zu müssen. Wie bereits geschrieben: csLButtonDown ist zu diesem Zeitpunkt nicht mehr im ControlState des Buttons eingetragen.
Gruß Daddy
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by daddy,
27. Apr 2007
Das nützt deshalb nichts, weil die Maustaste ja schon gar nicht mehr gedrückt ist, wenn "OnClick" durchlaufen wird.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by daddy,
27. Apr 2007
@Apollonius, @AndreasH:
Mit (GetAsyncKeyState(VK_LBUTTON) = VK_LBUTTON) kann ich tatsächlich erkennen, dass die linke Maustaste gedrückt wurde. Allerdings erkenne ich nicht, wann dies geschah. Das heißt, wenn ich irgendwo mit der Maus hinklicke und anschließend meinen Button per Tastatur betätige, liefert mir diese Abfrage "true" zurück, obwohl ich den Button gar nicht per Maus betätigt habe....
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by daddy,
27. Apr 2007
"SubData" hat recht :) , ich möchte die Maus nur positionieren und nicht klicken.
BerndS schrieb:
Das wird meines Erachtens nicht funktionieren, da das "OnClick" erst NACH dem Mouseup ausgeführt wird. Sonst hätte ich ja auch mit csLButtonDown im "OnClick" Erfolg gehabt siehe #1.
Mir ist klar, dass ich selber in meinen Komponenten oder in der Anwendung etwas vorsehen kann, um mir den...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by daddy,
27. Apr 2007
Beim Druck eines Knopfes öffnet sich ein Fenster. Innerhalb des Fensters gibt es verschiedene Komponenten und auf eine davon möchte ich anschließend automatisch den Mauszeiger positionieren. Das klappt soweit auch. Aber es soll eben nur dann geschehen, wenn der ursprüngliche Knopf per Maus angeklickt wurde und nicht wenn er per Tastatur (also Leertaste, Enter oder Hotkey) ausgelöst wurde.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by daddy,
26. Apr 2007
Weiß jemand, ob ich im OnClick-Ereignis eines Buttons herausfinden kann, ob es per Tastatur oder per Maus ausgelöst wurde?
Im ControlState ist der Zustand "csLButtonDown" zu diesem Zeitpunkt schon nicht mehr eingetragen. Und ich würde gerne vermeiden mir im MouseDown-Ereignis selber zu merken, ob per Maus geklickt wurde, da diese Abfrage bei vielen Knöpfen in vielen verschiedenen Formularen...