Как получить координаты клиентской области окна

Я могу получить координаты окна вся область и координаты клиентской области с помощью вызовов GetWindowRect Win32 и GetClientRect. Моя проблема состоит в том, что GetClientRect всегда возвращается 0,0 для верхнего левого. Как я выясняю то, что фактический клиентский регион относительно окна, реагируют?

12
задан Jeremy 13 July 2010 в 23:14
поделиться

3 ответа

Вы можете использовать ClientToScreen , чтобы получить координаты верхней левой (0,0) точки в координатах экрана. RECT, возвращаемый GetClientRect, будет подходящим, чтобы получить вам правый нижний угол (просто добавьте ТОЧКУ, установленную ClientToScreen).

17
ответ дан 2 December 2019 в 05:53
поделиться

Используйте ClientToScreen для преобразования координат клиента в координаты экрана. Прямоугольник окна (GetWindowRect) уже находится в экранных координатах и включает неклиентскую область (границы, надпись и т.д.)

5
ответ дан 2 December 2019 в 05:53
поделиться

Вы также можете использовать функцию MapWindowPoints для преобразования всего RECT в экранные координаты за один раз.

0
ответ дан 2 December 2019 в 05:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: