Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi 3. Maustaste onclick? (https://www.delphipraxis.net/80064-3-maustaste-onclick.html)

Jonas 2. Nov 2006 12:58


3. Maustaste onclick?
 
Heya, hab ne kurze frage wie kann ich abfragen ob die 3. Maustaste geklickt is?
Ich hab halt ne maus mit 2 tasten + Rad und dann links noch eine 3. Diese möchte ich einsetzten. Weiss jemand wie?

Luckie 2. Nov 2006 13:00

Re: Maustaste?
 
Bitte gib deinem Topic einen aussagekräftigen Titel. Nur "Maustaste?" ist das nicht. Bearbeite dazu deinen ersten Beitrag. Danke.

Jonas 2. Nov 2006 14:57

Re: 3. Maustaste onclick?
 
So besser? Ich fand den ersten Titel schon sehr aussagekräftig.

dino 2. Nov 2006 14:59

Re: 3. Maustaste onclick?
 
ist die seitlich an der maus dran?
wenn ja, weiss ich endlich, was du meinst

Flare 2. Nov 2006 15:04

Re: 3. Maustaste onclick?
 
Aber eigentlich ist doch die dritte Maustaste das Mausrad! (Wenn man auf das draufklickt)

Schreibe dir doch einfach ein Ereingis was alle Maustastenklciks abfängt und dir anzeigt welche tatse gedrückt wurde.


Flare

Jonas 2. Nov 2006 15:12

Re: 3. Maustaste onclick?
 
Zitat:

Zitat von dino
ist die seitlich an der maus dran?
wenn ja, weiss ich endlich, was du meinst

Yups seitlich. Links an der seite, halt am Daumen, nicht das Mausrad.

dino 2. Nov 2006 15:13

Re: 3. Maustaste onclick?
 
die daumentaste genannt

Sunlight7 2. Nov 2006 15:32

Re: 3. Maustaste onclick?
 
Reagiert Sie nicht auf WM_MBUTTONUP & WM_MBUTTONDOWN?

Balu der Bär 2. Nov 2006 15:39

Re: 3. Maustaste onclick?
 
Reicht es noch das Ereignis in der OnMouseDown-Prozedur abzufangen?

Vielleicht sind die letzten beiden Tasten die, welche du suchst? (Auszug OH):
Zitat:

VK_LBUTTON (01)
Left mouse button

VK_RBUTTON (02)
Right mouse button

VK_CANCEL (03)
Control-break processing

VK_MBUTTON (04)
Middle mouse button (three-button mouse)

VK_XBUTTON1 (05)
Windows 2000/XP: X1 mouse button

VK_XBUTTON2 (06)
Windows 2000/XP: X2 mouse button

shubbi 2. Nov 2006 16:07

Re: 3. Maustaste onclick?
 
Die XButtons kannst du ab Windows ME benutzen/abfragen mit WM_XBUTTONDOWN, WM_XBUTTONUP oder gleich WM_XBUTTONDBLCLK. Dabei ist zu beachten, dass der Rückgabewert muss dabei 1 sein:
Delphi-Quellcode:
TForm1 = class(TForm)
private
  procedure WMXButtonDown(var Message: TMessage); message WM_XBUTTONDOWN;
  procedure XButtonDown(x,y: integer; XButtonNumber: Integer); //1 oder 2
//  ...
end;
//...
procedure TForm1.WMXButtonDown(var Message: TMessage);
begin
  if (Message.wParam and MK_XBUTTON1) = MK_XBUTTON1 then
    XButtonDown(
      Message.lParam and $FFFF,            //*low-order word -> X
      Message.lParam and $FFFF0000 shr 16, //*high-order word -> Y
      1                                     // XButton1
    )
  else
    XButtonDown(
      Message.lParam and $FFFF,            //*low-order word -> X
      Message.lParam and $FFFF0000 shr 16, //*high-order word -> Y
      2                                     // XButton2
    );
  Message.result:= 1;
end;

procedure TForm1.XButtonDown(x,y: integer; XButtonNumber: Integer);
begin
// Mach hier was beim Drücken des XButtonNumber-ten XButtons passieren soll.
end;
Ich habs nicht getestet. Probier einfach mal rum.

Meine (Turbo-)Delphi Version kennt die oben benötigten Konstanten nicht. Zur not definier sie selbst (einfach mal bei google nach den Werten suchen).

Ich empfehle dir aber auf jeden Fall eine Alternative zur Benutzung der Buttons anzubieten, das
1.) nicht jeder so eine Maus hat
2.) Diese Buttons erst ab Windows ME unterstützt werden.


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