Перейти к содержанию

c++ Координаты клиентской области окна относительно рабочего стола


Рекомендуемые сообщения

1 минуту назад, JustHack сказал:

Ты скажи, что ты хочешь сделать. Зачем тебе относительно рабочего стола координаты?  И скрин не видно.

629367dedf5942fd628649771dfd4190.jpg
а так?

Ссылка на комментарий
Поделиться на другие сайты

13 минут назад, partoftheworlD сказал:

FindWindow + GetWindowRect

image.png.0166c370614c69177f609c881b068aaf.png

f24f39eb85ac8993bfa280606055a718.jpg
нуу, так ведь? Это ж не то.

"извлекает размеры рамки ограничивающей прямоугольник заданного окна. Размеры даются в экранных координатах, которые
отсчитываются относительно левого верхнего угла экрана"
А мне надо без обводки. Крч, координаты клиентской области

Изменено пользователем Senpai
Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, Senpai сказал:

А мне надо без обводки. Крч, координаты клиентской области

Вычитай значит просто толщину этой рамки и все. Оно будет статично, что на win7, что на win10
 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

7 минут назад, roma91212 сказал:

Вычитай значит просто толщину этой рамки и все. Оно будет статично, что на win7, что на win10
 

Ну вот, все сломал.

 

Ссылка на комментарий
Поделиться на другие сайты

1 час назад, roma91212 сказал:

Вычитай значит просто толщину этой рамки и все. Оно будет статично, что на win7, что на win10
 

а если рамки нет?

Ссылка на комментарий
Поделиться на другие сайты

В общем, вот решение:

void GetWindowPos(HWND hWnd, int *x, int *y)
{
    POINT p = { 0 };
    MapWindowPoints(hWnd, GetDesktopWindow(), &p, 1);
    (*x) = p.x;
    (*y) = p.y;
}

Всем спасибо
 

  • Плюс 1
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.