|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
20.07.2011, 08:57 | #1 |
Новичок
Джуниор
Регистрация: 20.07.2011
Сообщений: 2
|
Постоянный размер TImage
Здравствуйте.
Мне необходимо сделать так, чтобы размер TImage оставался постоянным при любой диагонали монитора. Именно в сантиметрах... Разрешение на всех мониторах установлено 1024x768. Условно говоря изображение должно быть всегда 7X5 см... Видимо придётся масштабировать размеры TImage динамически, в зависимости от диагонали монитора. Иначе, при одинаковом разрешении, размер на мониторе с большей диагональю больше. Как узнать диагональ монитора в см ? |
20.07.2011, 09:48 | #2 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Никак. Можно просто производить калибровку на каждом компьютере вручную, а значение сохранять в файл (или реестр).
Ищете информацию по C++?
cplusplus.com |
20.07.2011, 10:08 | #3 |
Старожил
Регистрация: 21.03.2009
Сообщений: 2,193
|
Гугль порадовал такой функцией: GetDeviceCaps.
Чтобы узнать размер дисплея монитора в миллиметрах - используем вторым параметром HORZSIZE и VERTSIZE, и от этого уже танцуем.
Простые и красивые программы - коды программ + учебник C++
Создание игры - взгляд изнутри - сайт проекта Тема на форуме, посвященная ему же |
20.07.2011, 13:51 | #4 |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
Ух ты... и для всех мониторов работает? Устройство же может и не говорить о своем реальном размере (только разрешение экрана).
Ищете информацию по C++?
cplusplus.com |
20.07.2011, 14:13 | #5 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
> HORZSIZE и VERTSIZE
майкрософт советует использовать LOGPIXELSX и LOGPIXELSY, т.к. пользователь может захотеть искусственно повысить DPI монитора. По ссылке там и пример на С++ есть внизу.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
26.07.2011, 11:46 | #6 |
Новичок
Джуниор
Регистрация: 20.07.2011
Сообщений: 2
|
int widthScreenMM=GetDeviceCaps(GetDC(0 ),HORZSIZE );
int heightScreenMM=GetDeviceCaps(GetDC( 0),VERTSIZE ); получилось 361 мм на 271 мм.... А когда меряю экран линейкой 338 мм на 271 мм ... А если сменить разрешение на другое, то и значения в мм искажаются... Ни при каком разрешении монитора функция не вернула верные значения |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Постоянный фокус на кнопке | Upgrades | Общие вопросы Delphi | 6 | 20.07.2010 20:50 |
Постоянный контент страницы | Ivanchikov | HTML и CSS | 7 | 15.03.2010 18:59 |
Постоянный фокус на одной программе | regman | Общие вопросы Delphi | 20 | 10.08.2009 11:07 |
Постоянный запрос о выполнении действия (NOD32) | Ronni10 | Безопасность, Шифрование | 2 | 19.12.2008 17:19 |
Acer постоянный AUTO config | Carbon | Компьютерное железо | 4 | 25.04.2008 22:54 |