Co dokładnie chcę zrobić :
Po kliknięciu LPM zapisać do zmiennej typu HWND okno na którym wykonano kliknięcie.
Szukałem, szukałem, masjstrowałem i nic :/
Co dokładnie chcę zrobić :
Po kliknięciu LPM zapisać do zmiennej typu HWND okno na którym wykonano kliknięcie.
Szukałem, szukałem, masjstrowałem i nic :/
Może spróbuj tego: WindowFromPoint
To to wiem :P
Tylko, nie wiem jak dokładnie wychwycić zdarzenie kliknięcia LPM poza obszarem formy. :-|
SetCapture
SetCapture przyjmuje jako parametr uchwyt okna (HWND) więc nic to nie da... ja chcę znaleźć uchwyt dowolnego okna wskazanego przez kliknięcie LPM na obszarze takiego okna zaś SetCapture ustawia okno które ma przechwytywać eventy wykonywane przez mysz.
Może spróbuję na przykładzie...
Uruchamiamy aplikację
Wyskakuje info aby wybrać jedno z okien (niekoniecznie aplikacji)
po kliknięciu LPM wyskakuje MessageDlg z informacją, że pobrano uchwyt okna
problem : jak wychwycić zdarzenie WM_LBUTTONDOWN/WM_LBUTTONUP?
poczytaj o hook'ach
jakby co to uchwyty okna zmieniają przy każdym tworzeniu tego okna
To nie tak SetCapture ustawia uchwyt okna które będzie przechwytywać komunikaty myszy aż do odwołania (RelaceCapture). Czyli Ustawiasz Setcapture(Forma1.Handle), klikasz dostajesz punkt przeliczasz go na globalny ten względem pulpitu i urzywasz WindowFromPoint