AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

3. Maustaste onclick?

Ein Thema von Jonas · begonnen am 2. Nov 2006 · letzter Beitrag vom 2. Nov 2006
Antwort Antwort
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#1

3. Maustaste onclick?

  Alt 2. Nov 2006, 13:58
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?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Maustaste?

  Alt 2. Nov 2006, 14:00
Bitte gib deinem Topic einen aussagekräftigen Titel. Nur "Maustaste?" ist das nicht. Bearbeite dazu deinen ersten Beitrag. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#3

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 15:57
So besser? Ich fand den ersten Titel schon sehr aussagekräftig.
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#4

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 15:59
ist die seitlich an der maus dran?
wenn ja, weiss ich endlich, was du meinst
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#5

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 16:04
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
Willy Scheibel
  Mit Zitat antworten Zitat
Jonas

Registriert seit: 6. Feb 2005
266 Beiträge
 
Delphi 2007 Professional
 
#6

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 16:12
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.
  Mit Zitat antworten Zitat
dino

Registriert seit: 15. Jul 2006
Ort: Bad Münstereifel
627 Beiträge
 
Delphi 5 Professional
 
#7

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 16:13
die daumentaste genannt
  Mit Zitat antworten Zitat
Benutzerbild von Sunlight7
Sunlight7

Registriert seit: 17. Sep 2006
Ort: Sonnensystem, Zentral
1.522 Beiträge
 
Delphi 5 Standard
 
#8

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 16:32
Reagiert Sie nicht auf WM_MBUTTONUP & WM_MBUTTONDOWN?
Windows: Ja - Microsoft: Nein -> www.ReactOS.org
  Mit Zitat antworten Zitat
Balu der Bär
(Gast)

n/a Beiträge
 
#9

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 16:39
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
  Mit Zitat antworten Zitat
shubbi
(Gast)

n/a Beiträge
 
#10

Re: 3. Maustaste onclick?

  Alt 2. Nov 2006, 17:07
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.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:58 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