MFC получает ClientRect /GetWindowRect после перемещения окна

#mfc #getclientrect

#mfc #getclientrect

Вопрос:

m_PICTURE_OD является идентификатором IDC_STATIC,

 m_PICTURE_OD.MoveWindow(640 /*x*/,96/*y*/,480/*w*/,288/*h*/);
RECT myrect;
m_PICTURE_OD.GetClientRect(amp;myrect);
  

myrect.bottom = 288;
myrect.top = 0;
myrect.осталось = 0;
myrect.right = 480;

 RECT myrect;
m_PICTURE_OD.GetWindowRect(amp;myrect);
  

myrect.bottom = 508;
myrect.top = 220;
myrect.осталось = 802;
myrect.right = 1282;

Я хотел бы повторно получить myrect.слева = 640, myrect.top = 96 …

Что я могу сделать?

Спасибо,

Ответ №1:

Вы смешиваете координаты экрана и координаты клиента. Для перевода между ними используйте CWnd::ScreenToClient и CWnd::ClientToScreen .