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