Russian Belarusian English German Japanese Ukrainian

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

По умолчанию для всех компонентов C++Builder задается имя шрифта MS Sans Serif и размер 8. Константа множества символов Charset задается равной DEFAULT_CHARSET. Последнее означает, что шрифт выбирается только по его имени и размеру. Если описанный шрифт недоступен в системе, то Windows заменит его другим шрифтом.

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

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

if(Screen->Fonts->IndexOf("Arial") == -1)
{
...
}

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

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

Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий


Поиск по сайту