Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Benachrichtigng beim MouseMove (https://www.delphipraxis.net/47311-benachrichtigng-beim-mousemove.html)

luckystar85 9. Jun 2005 08:12


Benachrichtigng beim MouseMove
 
Moin, moin!!!

Ich habe ein Programm geschrieben, welches aus 2 Forms besteht. Das erste Formular ist besteht nur aus einem Image. Die 2. Form besteht auch aus einem Image und hat als Parent Form1. Jetzt habe ich es mit "http://www.dsdt.info/tipps/?id=17" geschafft das ich Form2 mit der Maus problemlos bewegen kann. Ist es irgendwie möglich das ich während des MouseMoves eine Windowsbotschaft abfangen kann die mir die aktuelle Position des Mauszeigers gibt. Ich möchte das in Form1 am unteren Bildrand die aktuelle Positon in die Statusbar geschrieben wird.
Könnt ihr mir da mal bitte einen Tipp geben?

Marphy 10. Jun 2005 21:50

Re: Benachrichtigng beim MouseMove
 
Hallo Michael,
die Mauszeigerposition kannst du ganz einfach über GetCursorPos() ermitteln:
Delphi-Quellcode:
var
  Pos: TPoint;
// ...
  GetCursorPos(Pos);
Gruß, Marco

mr47 10. Jun 2005 23:42

Re: Benachrichtigng beim MouseMove
 
TForm hat ein Event dass aufgerufen wird wenn sich die Maus bewegt

Delphi-Quellcode:
procedure TForm1.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
begin

end;
x und y ist die Mausposition (0,0 ist oben links)

mfg

luckystar85 13. Jun 2005 08:49

Re: Benachrichtigng beim MouseMove
 
Mein Problem, war das ich nicht über das verschieben der Form über MouseMove nicht informiert wurde. Dafür fange ich jetzt die Botschaft WM_WindowPosChanged ab. Dann bekomme ich jetzt jeweils die aktuelle Position. Danke für eure Hilfe.


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