![]() |
Maus-Hook: Mausrad-Richtung
Hallo!
Mein MausHook:
Delphi-Quellcode:
Mein Hauptprogramm:
function MouseHookProc(nCode: Integer; MsgID: WParam; Data: LParam): LResult; stdcall;
begin ... PostMessage(mainWnd, MouseHookMessage, MsgID, Data); ... end;
Delphi-Quellcode:
Wenn ich die Nachricht (msgID) "WM_MOUSEWHEEL" empfange,
procedure TMainHookTestForm.WndProc(var Message: TMessage);
begin ... MouseSignal(message.WParam, message.LParam); end; procedure TMainHookTestForm.MouseSignal(msgId: Integer; Data: Integer); begin ... logText := logText + 'mouse X: ' + IntToStr(mousePos.X) + ' Y: ' + IntToStr(mousePos.Y) + '/state=' + IntToStr(msgId) + '/data=' + IntToStr(Data) + #13#10; ... end; steht in der Variable Data nichts verwertbares über das Mausrad-Delta drin. Woher kann ich denn die Information bekommen, in welche Richtung das Mausrad gedreht wurde? |
Re: Maus-Hook: Mausrad-Richtung
![]() Aus der MSDN: Zitat:
Delphi-Quellcode:
Sollte eigentlich das gewünschte Ergebnis bringen... Ansonsten steht alles Relevant in dem MSDN-Eintrag...
end;
procedure TMainHookTestForm.MouseSignal(msgId: Word; Data: Word); //Word oder DWord, bin mir grad nicht sicher... begin ... logText := logText + 'mouse X: ' + IntToStr(mousePos.X) + ' Y: ' + IntToStr(mousePos.Y) + '/state=' + IntToStr(High(msgId)) + '/data=' + IntToStr(Data)) + #13#10; ... end; |
Re: Maus-Hook: Mausrad-Richtung
Wo kommt denn die Definition von MouseSignal her?
![]() Alles DWORD, aber in Delphi würde ich den Delphieigenen Dypen LongWord nehmen. Zitat:
Delphi-Quellcode:
Distance := ShortInt(WParam shr 16)
|
Re: Maus-Hook: Mausrad-Richtung
Hi,
MouseSignal ist eine Prozedur von mir, die die erhaltenene Nachricht (kommt per WndProc rein) verarbeitet. Danke für die Tipps, ich schaus mir mal an. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:54 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