Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как учесть масштаб в свойствах экрана (96, 120... т/дюйм)?


_user_ ©   (2007-10-22 11:09:00) 

Сворачиваю часть формы:
ClientHight:=ClientHight-100
но на тех компьютерах, где размер установлен иной (чем 96 т/д), получается калиберда, по понятным причинам...
Помогите решить эту головоломку!


Reindeer Moss Eater   (2007-10-22 12:53:00) [1]

Точно так же


Err_f   (2007-10-22 12:26:00) [2]

Нашёл:

Как мне получить количество пикселей на дюйм, поддерживаемое принтером?
VertPixelsPerInch := GetDeviceCaps(Printer.Handle, LogPixelsX);
HorzPixelsPerInch := GetDeviceCaps(Printer.Handle, LogPixelsY);


И все примеры - для принтеров! Как для экрана использовать GetDeviceCaps?


Err_f   (2007-10-22 11:45:00) [3]


> С какой целью ClientHight меняем?

Скрыть часть настроек...
Как эквалайзер у плеера!


Reindeer Moss Eater   (2007-10-22 11:41:00) [4]

тогда уж лучше масштабировать фонт у формы в зависимости от текущих настроек экрана пользователя.


KSergey   (2007-10-22 11:40:00) [5]

> Err_f   (22.10.07 11:38) [8]
> > А что надо получить-то?
> k:=(т/дюйм экрана)/96

Я не про то.
С какой целью ClientHight меняем?


Err_f   (2007-10-22 11:38:00) [6]


> А что надо получить-то?

k:=(т/дюйм экрана)/96


> на границу какого-либо элемента (визуального компонента)
> на форме.

хм... идея интересная!


KSergey   (2007-10-22 11:36:00) [7]

А что надо получить-то?
Предлагаю опереться не на текущий ClientHight, а на границу какого-либо элемента (визуального компонента) на форме.


Err_f   (2007-10-22 11:28:00) [8]

Спасибо! Поищу...
Единственное - что там в результате получится?
integer - 96, 120... ???


Reindeer Moss Eater   (2007-10-22 11:26:00) [9]

Руками? Кто говорил про руки?

GetDeviceCaps c параметром LOGPIXELSY


Err_f   (2007-10-22 11:21:00) [10]

Можно... руками!
А программно как?

Если бы я знал ответ - я бы не задавал вопрос!


Reindeer Moss Eater   (2007-10-22 11:20:00) [11]

так в чем проблема-то?
определить текущие установки экрана разве нельзя?


Err_f   (2007-10-22 11:15:00) [12]


> Reindeer Moss Eater ©   (22.10.07 11:12) [1]
> какую головоломку?

Как узнать... получить коэффициент:
k:=1 if 96 точек/дюйм
k:=1,25 if 120 точек/дюйм
...
Или лучше- как-нибудь так:

k:=(т/дюйм экрана)/96

Как это реализовать?


Reindeer Moss Eater   (2007-10-22 11:12:00) [13]

какую головоломку?


Наверх

Титульная страница Поиск, карта сайта Написать письмо