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);
    }
    

Anmelden zum Antworten