-
Сабж. Т.е допустим GetWindowRect(hWindow, r); дает позицию 100;100 (top;left). Тогда GetPixel(DC, top, left) определит цвет не рабочей области формы а Border'а. Кам можно определить положение рабочей области формы?
-
GetClientRect - top и left = 0
-
> GetClientRect - top и left = 0
Было бы странно обратное. procedure TForm1.Button1Click(Sender: TObject);
var
Rect: TRect;
WinRect: TRect;
begin
Rect := ClientRect;
GetWindowRect (Handle, WinRect);
MapWindowPoints(Handle, HWND_DESKTOP, Rect, 2);
OffsetRect(Rect, -WinRect.Left, -WinRect.Top);
ShowRect(Rect);
end;
-
Плохо прочитал вопрос.
Для того, чтобы найти абсолютные координаты клиентской части окна hWnd по его известному ClientRect (0-0, clientwidth-clientheight), достаточно одного вызова MapWindowPoints (hWnd, HWND_DESKTOP, ClientRect, 2);
|