Как получить полный клиент прямой?
Функция GetClientRect, согласно MSDN, на самом деле хороша только для определения ширины и высоты клиента, поскольку left & top всегда равны нулю. Is there a way to get the complete client coordinates, including left & top (either in screen space, or in window space)?
3 ответа
Вызовите ClientToScreen в верхнем левом и нижнем правом углу возвращенного RECT. Если вы используете MFC, CWnd имеет вспомогательную перегрузку CWnd::ClientToScreen, которая сделает это прозрачно для вас.
Вы ищете функцию GetWindowPlacement. Эта функция возвращает структуру WINDOWPLACEMENT, которая имеет свойство rcNormalPosition, которое указывает положение окна, когда оно находится в нормальном (а не развернутом или развернутом) состоянии отображения.
РЕДАКТИРОВАТЬ: ответ itowilson на самом деле чище, потому что структура WINDOWPLACEMENT также содержит кучу данных, которые вам не нужны.