Координаты окна
От: gvozdok Россия www.leadertask.ru
Дата: 11.03.06 15:08
Оценка:
Когда окно появляется на экране при разрешении 1024x768, то координаты его верхнего левого угла (144, 131). Когда окно появляется на экране при разрешении 800x600, то координаты его верхнего левого угла (32, 47). Как самому вычислить новые координаты окна при смене разрешения? Как это делает Windows? Как определить этоо коэффициент масштабирования?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>

12.03.06 00:23: Перенесено модератором из 'C/C++. Прикладные вопросы' — Кодт
Re: Координаты окна
От: rg45 СССР  
Дата: 11.03.06 15:47
Оценка:
"gvozdok" <42528@users.rsdn.ru> сообщил/сообщила в новостях следующее: news:1776034@news.rsdn.ru...
> Когда окно появляется на экране при разрешении 1024x768, то координаты его верхнего левого угла (144, 131). Когда окно появляется на экране при разрешении 800x600, то координаты его верхнего левого угла (32, 47). Как самому вычислить новые координаты окна при смене разрешения? Как это делает Windows? Как определить этоо коэффициент масштабирования?

При создании нового окна, в том случае, если его координаты не заданы явно, Windows исходя из размеров окна и экрана, по каким то своим соображениям устанавливает окну его положение на экране. Положение окна по умолчанию, на сколько известно мне, нигде не документировано и ничем не регламентировано, в одной Windows оно такое, в другой может быть другим . ИМХО не стоит даже заморачиваться на то, как это делает Windows. Лучше подойти к решению задачи с другой стороны: как тебе нужно, чтоб окно располагалось на экране? Данные которые понадобятся для решения этой задачи — размер окна, размер экрана, сообщение, о том, что разрешение экрана изменилось — все это в твоем распоряжении.
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.
Re[2]: Координаты окна
От: __kain Россия  
Дата: 11.03.06 16:09
Оценка: +1
Здравствуйте, rg45, Вы писали:


R>"gvozdok" <42528@users.rsdn.ru> сообщил/сообщила в новостях следующее: news:1776034@news.rsdn.ru...

>> Когда окно появляется на экране при разрешении 1024x768, то координаты его верхнего левого угла (144, 131). Когда окно появляется на экране при разрешении 800x600, то координаты его верхнего левого угла (32, 47). Как самому вычислить новые координаты окна при смене разрешения? Как это делает Windows? Как определить этоо коэффициент масштабирования?

R>При создании нового окна, в том случае, если его координаты не заданы явно, Windows исходя из размеров окна и экрана, по каким то своим соображениям устанавливает окну его положение на экране. Положение окна по умолчанию, на сколько известно мне, нигде не документировано и ничем не регламентировано, в одной Windows оно такое, в другой может быть другим . ИМХО не стоит даже заморачиваться на то, как это делает Windows. Лучше подойти к решению задачи с другой стороны: как тебе нужно, чтоб окно располагалось на экране? Данные которые понадобятся для решения этой задачи — размер окна, размер экрана, сообщение, о том, что разрешение экрана изменилось — все это в твоем распоряжении.


Есть API шная функция GetWindowRect. Возвращает "прямоугольник" окна
Re[3]: Координаты окна
От: rg45 СССР  
Дата: 11.03.06 16:22
Оценка:
"__kain" <40397@users.rsdn.ru> сообщил/сообщила в новостях следующее: news:1776083@news.rsdn.ru...
> Есть API шная функция GetWindowRect. Возвращает "прямоугольник" окна

Совершенно верно. Есть также функция GetSystemMetrics, с помощью которой можно узнать множество различных размеров, в т.ч. размеры экрана в пикселах.
Posted via RSDN NNTP Server 2.0
--
Справедливость выше закона. А человечность выше справедливости.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.