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

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

DPI и решение проблем, возникающих с ним [D7, Win95/98, WinXP]


Страницы:   1 2

TIF ©   (2007-12-04 15:04:00) 

При различных DPI возникают проблемы с размерами отображаемых компонентов, например

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1194860002&n=18

Итак, как же проследить изменение DPI, автоматически (!) подготовить форму и компоненты к отображению на экране (с учётом DPI!), а также учесть границу (рамку, бордюр) окна, чтобы не возникло проблем?


Игорь Шевченко   (2007-12-05 17:10:00) [21]


> Неужели нет ничего готового?


Было. В Globus VCL


TIF   (2007-12-05 17:09:00) [22]


> Делаешь себе ветку VCL начиная с Tcontrol добавляя событие
> OnChangeDPI и например ScaledTop/Width/height. По ним и
> ресайзишь.


оригинально, но долго.

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


tesseract   (2007-12-04 18:12:00) [23]

Делаешь себе ветку VCL начиная с Tcontrol добавляя событие OnChangeDPI и например ScaledTop/Width/height. По ним и ресайзишь.


Reindeer Moss Eater   (2007-12-04 17:18:00) [24]

От одной формы конечно. В которой все и реализовать.


TIF   (2007-12-04 17:17:00) [25]

и от чего мне всё это наследовать?


Reindeer Moss Eater   (2007-12-04 16:48:00) [26]

наследование и полиморфизм не отменяли


TIF   (2007-12-04 16:06:00) [27]

Получить-то DPI я получил, а как асвтоматически подогнать размер всех компонентов? И формы? И гланое, рамки окна? Вручную прописывать для каждого компонта - идиотизм, по-моему.


KSergey   (2007-12-04 16:03:00) [28]

> KSergey ©   (04.12.07 16:02) [5]
> пиксель на стере

> пиксель на сте не


KSergey   (2007-12-04 16:02:00) [29]

> Игорь Шевченко ©   (04.12.07 15:39) [4]
> DPU получается с помощью свойства PixelsPerInch, или я здорово ошибаюсь ?

Позволю себе крамольную мысль - да.
Однако автора конечно же вполне оно устроит, т.к. если у пользователя пиксель на стере отображается два на два миллиметра - то это его проблемы :)


Игорь Шевченко   (2007-12-04 15:39:00) [30]


> DPI Получаеться только с помощью линейки


DPU получается с помощью свойства PixelsPerInch, или я здорово ошибаюсь ?


tesseract   (2007-12-04 15:11:00) [31]

DPI Получаеться только с помощью линейки. Разрешение монитора можно получить через GetDeviceCaps. Клиентскую облать формы сооветсвенно ClientWidth/ClientHeight.


Reindeer Moss Eater   (2007-12-04 15:10:00) [32]

DPI известно. DPI бывшее при дизайне известно.
Остается делить/умножать и менять размеры фонта у формы что бы она всегда выглядела одинаково красиво.


Игорь Шевченко   (2007-12-04 15:08:00) [33]

Scaled:=true ?


Страницы:   1 2

Наверх

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