ScreenToClient
-
So erstmal thx fürs bishergige Helfen.
Wie benutze ich die Funktion ScreenToClient in folgendem Beispiel:
HWND hwnd = GetForegroundWindow(); TCanvas* canvas = new TCanvas(); canvas->Handle = GetWindowDC(handle); TRect Dest = Image1->ClientRect; TRect Source; GetWindowRect(handle, (LPRECT)&Source); Source = Rect(117, 288, 407 , 368); // <=== diese Koordinaten sollen auf das Fenster umgerechnet werden image->Canvas->CopyRect(Dest, canvas, Source); delete canvas;
Mit
Source = Rect(ScreenToClient(117)....)geht es nicht. Muss ich da vorher noch die structure des TPoints definieren ??
Hat jemand nen Tip für mich ??
FGGF
-
Vielleicht hilft dir folgende Funktion
BOOL Rect_ScreenToClient(HWND hwnd, LPRECT lprc) { BOOL bRetVal1, bRetVal2; LPPOINT lpl = (LPPOINT)lprc; bRetVal1 = ::ScreenToClient(hwnd, lpl); bRetVal2 = ::ScreenToClient(hwnd, lpl + 1); return (bRetVal1 && bRetVal2); }