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.