2008-09-26 2 views
2

Я знаю, что есть функция где-нибудь, которая примет клиентский прямоугольник, и он преобразует его в окно rect для вас. Я просто не могу найти/запомнить его!Win32/MFC Get window rect from client rect

Кто-нибудь знает, что это такое?

Он будет делать что-то подобное:

const CRect client(0, 0, 200, 200); 
const CRect window = ClientRectToWindowRect(client); 
SetWindowPos(...) 

ответ

5

Вы, вероятно, думаете о AdjustWindowRectEx(). Имейте в виду, что это предназначено для использования, когда создает окно - нет гарантии, что он будет производить точный набор размеров окна для существующего окна; для этого, используйте GetWindowRect().

0

Если вы хотите отобразить клиентские координаты в окне координат используйте ClientToWindow API.

Если вы хотите сопоставить клиентские координаты с координатами экрана, используйте API-интерфейс ClientToScreen.

0

Для использования репозиции управления:

RECT client; 
::SetRect(&client, 0, 0, 200, 200); 
::MapWindowPoints(hwndControl, ::GetParent(hwndControl), (POINT*)&client, 2); 
::SetWindowPos(...) 
Смежные вопросы