![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как быть с разрешением монитора ? [D7, XP]
AntonUSAnoV © (2008-01-27 20:22:00)Уважаемые Мастера!
Как вообще осуществляется адаптация программы к разрешеию монитора?
Т.е. как сделать так чтобы на мониторах с разным разрешениям одна и таже прога отображалась одинаково (в смысле масштабов)..
ketmar (2008-01-28 11:50:00) [1]>[26] palva©(28.01.08 11:20)
там тоже не всё так гладко. см. [7]. ttf-реастеризатор от m$ завязан на «хинтинг», а «хинтинг» корёжит размеры символов в пользу читаемости. это выглядит красиво, но работает неверно. а у apple выглядит размыто и ужасно, зато работает верно.
palva (2008-01-28 11:42:00) [2]palva © (28.01.08 11:20) [26]
Вообще сейчас попробовал эту фичу, заявленную в документации. У меня почему-то не получилось. То ли я чего-то не так понял, то ли не так сделал. Раньше, по-моему, это работало. Правда я делал это на Visual Studio. Там компилятор ресурсов другой.
palva (2008-01-28 11:20:00) [3]
> если мне нужно покрупнее, то перетягиваю окно на правый
> монитор
Ага. А под столом стоит монитор с изображением корзины. Туда утянешь - и с глаз долой.
Вообще, граждане разработчики под VCL, вы в курсе, что в файле RC ресурс DIALOG содержит указание FONT и все размеры и координаты этого диалога задаются не в пикселях а в некоторых долях высоты указанного шрифта. А размер шрифта задается тоже не в пикселях, а в физических единицах (пункты, по-моему, называются). Так что меняя размер шрифта в файле ресурсов вы меняете (физический) размер диалога. А изменение разрешение экрана или размера шрифта в параметрах дисплея на внешний вид такого приложения повлиять не должно. Но это, конечно, в идеале. Так что переходите на Win API. Там эту проблему хотя бы пытаются решать.
ketmar (2008-01-28 11:12:00) [4]>[24] MsGuns©(28.01.08 10:37)
да по-моему, каждый на такие грабли наступал. %-)
MsGuns (2008-01-28 10:37:00) [5]Очень не советую разрабатывать интерфейс под "красивые буковки" - имею очень гадкий опыт с этим безобразием.
По сути ответил Кетмарь - туда и надо рыть
Kolan (2008-01-28 10:16:00) [6]Тут читай Control sizing и дальше:
http://msdn2.microsoft.com/en-us/library/aa511279.aspx
Kolan (2008-01-28 10:10:00) [7]> F1
> Scale
> ScaleBy
Добрый дядя
homm (2008-01-28 10:06:00) [8]> [20] ketmar © (28.01.08 08:59)
1:1
ketmar (2008-01-28 08:59:00) [9]>[19] homm ©(28.01.08 08:29)
ты опоздал. это мы уже посоветовали, и теперь обсуждаем особенности реализации ttf-растеризатора от m$. %-)
homm (2008-01-28 08:29:00) [10]> [11] AntonUSAnoV (27.01.08 23:52)
> ПК с разрешен. 1280 то естественно результат меня не удовлетворил,
> да и не мог
Хм. А ты в курсе таких свойств, как Anchors и Align?
ketmar (2008-01-28 04:44:00) [11]>[17] Германн ©(28.01.08 02:57)
от того, что ты этого не знал, оно неверно работать не прекращало. %-)
Германн (2008-01-28 02:57:00) [12]
> ketmar © (28.01.08 02:24) [16]
>
>
Ну мало мне было головной боли. Так и ты ещё добавляешь! Ну т.е. не ты а БГ, но...
Пока я не знал, я был спокоен.
ketmar (2008-01-28 02:24:00) [13]>[15] Германн ©(28.01.08 01:43)
а вот и нет. как я писал выше, у движка m$ масштабирование шрифтов не пропорциональное. так сделано в угоду читабельности. без layout manager, который об этом осведомлён, есть очень немелкий шанс получить или порезаный текст в контролах, или кучи пустого места там же.
Германн (2008-01-28 01:43:00) [14]
> впрочем, от проблем с «большими шрифтами» это всё равно
> не избавит.
Ну врядли его заботит проблема с «большими шрифтами». Он же переходит с 1024х768 на 1280х1024. А 1280х1024 с крупным шрифтом те же Фаберже, что и 1024х768 с нормальным шрифтом.
ketmar (2008-01-28 01:26:00) [15]>[8] AntonUSAnoV (27.01.08 23:09)
UI — user interface.
layout mamager — это то, что забыли вписать в VCL.
тебе, полагаю, будет вполне достаточно свойств align. anchors и правильного расположения панелей.
впрочем, от проблем с «большими шрифтами» это всё равно не избавит.
Германн (2008-01-28 00:45:00) [16]
> AntonUSAnoV (27.01.08 23:52) [11]
>
>
> > homm
>
> Вы правы, просто я работаю и пишу прогу на разрешении 1024х768
> , и когда установил на др. ПК с разрешен. 1280 то естественно
> результат меня не удовлетворил, да и не мог
Странно. Обычно бывает неудовлетворение при уменьшении разрешения, имхо. Если конечно правильно пользоваться Анкорами и Элайнами.
Anatoly Podgoretsky (2008-01-27 23:56:00) [17]> AntonUSAnoV (27.01.2008 23:52:11) [11]
Не знаю, как ты этого достиг, я например если мне нужно покрупнее, то перетягиваю окно на правый монитор, а если больше места, то на левый и ничего не меняется.
AntonUSAnoV (2008-01-27 23:52:00) [18]
> homm
Вы правы, просто я работаю и пишу прогу на разрешении 1024х768 , и когда установил на др. ПК с разрешен. 1280 то естественно результат меня не удовлетворил, да и не мог, не подскажете как быть, если задача - корректное отображение проги ? (т.е. самый распространённый и одновременно наименее трудоёмкий и сложный)
homm (2008-01-27 23:40:00) [19]> [0] AntonUSAnoV (27.01.08 20:22)
> Как вообще осуществляется адаптация программы к разрешеию
> монитора?
А ты уверен, что нужно адаптироватся к разрешению монитора, а не к размерам окна? Че за идиотизм такой, я поставил разрешение больше, что бы видеть одновременно больше окон, а ты взял и увеличил пропорционально окошко своей проги.
KilkennyCat (2008-01-27 23:24:00) [20]> Kolan © (27.01.08 20:28)
> кординальное,
через а