Шаг 10.
Компоненты библиотеки RX.
Вкладка Controls. Компонент TFontComboBox

    На этом шаге мы рассмотрим компонент TFontComboBox.

    Компонент TFontComboBox (рис.1) - специализированный элемент управления для выбора имени шрифта из выпадающего списка, отображающего имена доступных в системе шрифтов на момент выполнения программы. При выборе пользователем шрифта из списка, изменяется свойство FontName и происходит событие OnChange.


Рис.1. Компонент TFontComboBox

    Набор шрифтов, отображаемый списком, зависит от значений свойств Device и Options.

    Рассмотрим некоторые свойства компонента:

Таблица 1. Свойства компонента TFontComboBox
Свойство Описание
property FontName: string; Свойство определяет, какой шрифт отображается в строке редактора компоненты TFontComboBox. Когда пользователь выбирает в выпадающем списке новый шрифт, выбранный шрифт становится значением свойства FontName. Значение свойства Text также изменяется и становится равным имени выбранного шрифта.
property Device: TFontDevice; Свойство определяет, какие шрифты из доступных в системе на момент выполнения программы будут отображаться в списке выбора компоненты TFontComboBox. Допустимые значения для свойства Device:
  • fdScreen - экранные шрифты;
  • fdPrinter - принтерные шрифты;
  • fdBoth - экранные и принтерные шрифты.
type
TFontDevice = (fdScreen, fdPrinter, fdBoth);
Тип TFontDevice задает возможные значения свойства Device компоненты TFontComboBox.
property Options: TFontListOptions; Возможные значения, которые могут быть вкючены в Options для TFontComboBox:
  • foAnsiOnly = True, пользователь не может выбрать шрифт, который содержит только символы, из списка TfontComboBox.
  • foTrueTypeOnly = True, может выбрать только TrueType шрифты из списка TfontComboBox.
  • foFixedPitchOnly = True , только монораздельные шрифты из списка TfontComboBox.
  • foNoOEMFonts = True, только шрифты, которые не являются векторными шрифтами из списка TfontComboBox.
  • foOEMFontsOnly = True, только OEM шрифты из списка TfontComboBox.
  • foScalableOnly = True , только шрифты, которые могут быть измерены из списка TfontComboBox.
  • foNoSymbolFonts = True, только шрифты, которые не содержат символов 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.




Предыдущий шаг Содержание Следующий шаг