Различные разрешения - различные размеры шрифтов
Я также долго мучился над проблемой решения этого вопроса, и ниже я излагаю
свои выводы на основании моих многочисленных экспериментов.
Свойство, отвечающее за размер шрифта важно, но не менее важны в этом вопросе
и другие характеристики.
- Я получал безобразные результаты при изменении резолюции, пока я не начал
задавать размер шрифта в пикселях (pixels) вместо точек (points). Вы можете
установить font.height, и вы можете установить font.size. Я обнаружил, что
установка значения font.height дает значительно лучшие результаты, поскольку
данное свойство определяет количество пикселей, и размер шрифта меняется
пропорционально изменению размера пиксела.
Также, вы можете обнаружить, что шрифт по-умолчанию не может быть ниже
определенной высоты. Будет гораздо лучше, если вместо SYSTEM вы выберите шрифт
MS sans-serif.
- У формы имеется свойство, названное "scaling" (взял из памяти, надеюсь
верно). Я обнаружил, что лучше его иметь выключенным. Если свойство включено,
Delphi или Windows пытаются при изменении размера формы все соответствено
смаштабировать. Все это хорошо только для сохранения относительных позиций
элементов, так что я выключил свойство, и больше о нем не вспоминал.
Если свойство выключено, а форма ваша максимизирована, вы обнаружите, что все
ваши компоненты устремились вслед за левым верхним углом формы. Где не желателен
этот эффект, я получал разрешение экрана (Screen.Height и Screen.Width) и
прислаивал свойствам компонентов Left и Тор скорректированные свойства прежде,
чем форма успевала появиться (в методе OnCreate, во время выполения приложения).
В целом же, завершая рассказ, следует подчеркнуть, что выключенное свойство
scaling и использование пикселей вместо точек для изменения размеров шрифта,
дает вполне приемлимый результат.
|