Konvertiert die Bildschirmkoordinaten eines bestimmten Punktes auf dem Bildschirm zu den Koordinaten des Anwendungsbereichs eines Fensters
#include <WinAPIConv.au3>
_WinAPI_ScreenToClient ( $hWnd, ByRef $tPoint )
$hWnd | Identifiziert das Fenster dessen Koordinaten umgerechnet werden sollen |
$tPoint | $tagPOINT Struktur welche die zu konvertierenden Bildschirmkoordinaten enthält |
Erfolg: | True |
Fehler: | False |
Die Funktion nutzt das Fenster des $hWnd Parameters und die Bildschirmkoordinaten der
$tagPOINT Struktur um die Koordinaten des Anwendungsbereichs zu errechnen. Die umgerechneten Koordinaten werden dann
wieder zurück in die Struktur geschrieben. Die neuen Koordinaten sind relativ zur oberen-linken Ecke des Anwendungsbereichs des Fensters.
$tagPOINT, _WinAPI_ClientToScreen
Suche nach ScreenToClient in der MSDN Bibliothek.
#include <MsgBoxConstants.au3>
#include <WinAPIConv.au3>
Example()
Func Example()
Local $hWnd = GUICreate("Beispiel", 200, 200)
Local $tPoint = DllStructCreate("int X;int Y")
DllStructSetData($tPoint, "X", 641)
DllStructSetData($tPoint, "Y", 459)
GUISetState(@SW_SHOW)
Sleep(1000)
_WinAPI_ScreenToClient($hWnd, $tPoint)
MsgBox($MB_SYSTEMMODAL, "_WINAPI_ClientToScreen-Beispiel", "Die Bildschirmkoordinaten [x = 641, y = 459]" & @CRLF & _
"entsprechen folgender Position im Client-Bereich:" & @CRLF & @CRLF & _
@TAB & @TAB & "X: " & DllStructGetData($tPoint, "X") & @CRLF & _
@TAB & @TAB & "Y: " & DllStructGetData($tPoint, "Y") & @CRLF)
EndFunc ;==>Example