Как получить полный клиент прямой? - PullRequest
0 голосов
/ 05 октября 2009

Функция GetClientRect, согласно MSDN, на самом деле подходит только для определения ширины и высоты клиента, поскольку left & top всегда равны нулю. Есть ли способ получить полные координаты клиента, включая левый и верхний (либо в пространстве экрана, либо в пространстве окна)?

Ответы [ 3 ]

2 голосов
/ 05 октября 2009

Может быть, вам нужен GetWindowRect.

2 голосов
/ 05 октября 2009

Вызовите ClientToScreen в верхнем левом и нижнем правом углу возвращенного RECT. Если вы используете MFC, CWnd имеет вспомогательную перегрузку CWnd :: ClientToScreen, которая сделает это прозрачно для вас.

0 голосов
/ 05 октября 2009

Вы ищете функцию GetWindowPlacement.Эта функция возвращает структуру WINDOWPLACEMENT, которая имеет свойство rcNormalPosition, которое определяет положение окна, когда оно находится в нормальном (а не развернутом или развернутом) состоянии отображения.

EDIT: ответ itowilson на самом деле чище, поскольку структура WINDOWPLACEMENTсодержит кучу данных, которые вам не нужны.

...