Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курс лекций по дисциплине Объектно-ориентирован...doc
Скачиваний:
33
Добавлен:
01.07.2025
Размер:
14 Мб
Скачать
☆

1.2. Шрифты текстов

Шрифт надписей и текстов компонентов Delphi задается свойством Font, имеющим множество подсвойств. Кроме того, в компонентах имеется свойство Parent-Font. Если это свойство установлено в true, то шрифт данного компонента берется из свойства Font его родительского компонента — панели или формы, на которой расположен компонент. Использование свойств ParentFont и ParentColor помогает обеспечить единообразие отображения компонентов в окне приложения.

По умолчанию для всех компонентов Delphi задается имя шрифта MS Sans Serif и размер — 8 (в Delphi 1 задается имя шрифта System и размер 10). Константа множества символов Charset задается равной DEFATJLT_CHARSET. Последнее означает, что шрифт выбирается только по его имени и размеру. Если описанный шрифт недоступен в системе, то Windows заменит его другим шрифтом.

Чаще всего эти установки по умолчанию можно не изменять. Конечно, никто не мешает задать для каких-то компонентов другой размер шрифта или атрибуты типа полужирный, курсив и т.д. Но изменять имя шрифта для вашего приложения надо с определенной осторожностью. Дело в том, что шрифт, установленный на вашем компьютере, не обязательно должен иметься и на компьютере пользователя. Поэтому использование какого-то экзотического шрифта может привести к тому, что пользователь, запустив ваше приложение на своем компьютере, увидит вместо русского текста абракадабру. Чтобы избежать таких казусов, вам придется прикладывать к своему приложению еще и файлы использованных шрифтов и пояснять пользователю, как он должен установить их на своем компьютере, если они там отсутствуют, или вводить автоматическую проверку и установку нужных вам шрифтов в установочную программу вашего приложения.

Использование шрифтов по умолчанию: System или MS Sans Serif, чаще всего позволяет избежать подобных неприятностей. Если вы используете для надписей русские тексты, то при запуске приложения на компьютере с нерусифицированным Windows иногда возможны неприятности. Для подобных случаев все-таки полезно приложить файлы использованных шрифтов к вашей программе. Вы можете при установке вашего приложения узнать, имеется ли на компьютере пользователя нужный шрифт, например, с помощью следующего кода:

if (Screen.Fonts.IndexOf('Arial') = -1) then . . .

В этом коде многоточием обозначены действия, которые надо выполнить, если нужного шрифта (например — Arial) на компьютере нет. Эти действия могут заключаться в копировании файлов шрифта с установочной дискеты или CD ROM на компьютер пользователя.

Другой выход из положения — ввести в приложение команду выбора шрифта пользователем. Это позволит ему выбрать подходящий шрифт из имеющихся в его системе. Осуществляется подобный выбор с помощью стандартного диалога, оформленного в виде компонента FontDialog. Проведенную пользователем установку можно запоминать в файле .INI, в реестре или в другом файле конфигурации и читать автоматически информацию из этого файла при каждом запуске приложения.

Подробное рассмотрение всех свойств компонентов, связанных со шрифтами, примеры их использования и исследования вы найдете в главе 16 в разделе «Font».