На этом шаге мы рассмотрим компонент TFontComboBox.
Компонент TFontComboBox (рис.1) - специализированный элемент управления для выбора имени шрифта из выпадающего списка, отображающего имена доступных в системе шрифтов на момент выполнения программы. При выборе пользователем шрифта из списка, изменяется свойство FontName и происходит событие OnChange.
Рис.1. Компонент TFontComboBox
Набор шрифтов, отображаемый списком, зависит от значений свойств Device и Options.
Рассмотрим некоторые свойства компонента:
Свойство | Описание |
---|---|
property FontName: string; | Свойство определяет, какой шрифт отображается в строке редактора компоненты TFontComboBox. Когда пользователь выбирает в выпадающем списке новый шрифт, выбранный шрифт становится значением свойства FontName. Значение свойства Text также изменяется и становится равным имени выбранного шрифта. |
property Device: TFontDevice; | Свойство определяет, какие шрифты из доступных в системе на момент выполнения программы будут отображаться в списке выбора компоненты TFontComboBox.
Допустимые значения для свойства Device:
|
type TFontDevice = (fdScreen, fdPrinter, fdBoth); |
Тип TFontDevice задает возможные значения свойства Device компоненты TFontComboBox. |
property Options: TFontListOptions; | Возможные значения, которые могут быть вкючены в Options для TFontComboBox:
|
type TFontListOption = (foAnsiOnly, foTrueTypeOnly, foFixedPitchOnly, foNoOEMFonts, foOEMFontsOnly, foScalableOnly); |
Тип определяет возможные значения свойства Options компонента TFontComboBox. |
Например, если сначала свойству Option foNoSymbolFonts сначала придать значение False, а потом True, то из списка исчезнет, например, шрифт Symbol (рис.2а-б).
Рис.2а. Свойство foNoSymbolFonts=False
Рис.2б. Свойство foNoSymbolFonts=True
Приведем пример: создадим приложение, которое будет отображать смену шрифтов.
Поместим на форму компоненты FontComboBox1 , RxLable1 (рис.3).
Рис.3. Форма с размещенными на ней компонентами FontComboBox1, RxLable1
Для компонента FontComboBox1 напишем обработчик события OnChange:
procedure TForm1.FontComboBox1Change(Sender: TObject); begin RxLabel1.Font.Name:=FontComboBox1.Text; end;
Работа программы показана на рис.4(а-в).
Рис.4а. Шрифт не выбран
Рис.4б. Выбран шрифт OCR-B 10 BT
Рис.4в. Выбран шрифт Monotype Corsiva
Текст этого примера можно взять здесь.
На следующем шаге мы рассмотрим компонент TColorComboBox.