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