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 Maustasten (https://www.delphipraxis.net/62236-maustasten.html)

KuH_am_SchuH 1. Feb 2006 16:48


Maustasten
 
Hiho :) ,
wie kann man denn die beiden maustasten unterscheiden ???
also zum beispiel wenn man die linke maustaste drückt dass irgendwas passiert und bei der rechten etwas anderes ...
schonmal thx im vorraus :corky:

Der_Unwissende 1. Feb 2006 16:53

Re: Maustasten
 
Wenn du ein TMouseDown Ereignis auswertest, steht die Maustaste (die gerade gedrückt ist / sind) im Shift. Da kannst du mit ssLeft (musst genau gucken wie die hieß, bin mir gerade nicht sicher) und ssRight gucken welche der Tasten alles gedrückt sind

Delphi-Quellcode:
if ssLeft in Shift then
  begin
    ..
  end;
if ssRight in Shift then
  begin
  end;
Dabei schließt ein Shift natürlich nicht das gleichzeitige drücken der Tasten aus.

Während einer Mausbewegung (OnMouseMove) gilt das gleiche. Wird ein OnMouseUp Ereignis ausgelöst, so steht in MouseButton die Taste, die das Ereignis auslöste (in Shift weiterhin nur, was noch gedrückt ist).

Wenn du ein eigenen Listener schreibst, findest du im MS-Windows SDK genaueres, wie eben diese Dinge codiert sind.

Gruß Der Unwissende

KuH_am_SchuH 1. Feb 2006 16:55

Re: Maustasten
 
:-D :) danke :-D :)

inherited 1. Feb 2006 17:28

Re: Maustasten
 
Oder etwas komplizierter mit
Delphi-Quellcode:
if GetAsyncKeyState(vk_lmouse) > -1 then //whatever

3_of_8 1. Feb 2006 17:30

Re: Maustasten
 
Ich glaube nicht, dass das stimmt. Das reagiert doch nur, wenn die linke Maustaste nicht gedrückt ist, oder?

MisterNiceGuy 1. Feb 2006 18:12

Re: Maustasten
 
Also erstens heißt der Virtualkey vk_lbutton und 2. gehts wirklich nicht :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:16 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