Шаг 4.
Вкладка Dialogs. Компонент TFontDialog

    На этом шаге мы рассмотрим компонент, используемый для выбора шрифта.

    Компонент TFontDialog создает и обслуживает стандартное окно выбора шрифта (рисунок 1).


Рис.1. Стандартное окно TFontDialog

    Следующее свойство определяет тип устройства, для которого выбирается шрифт:

  TFontDialogDeviсe = (fdScreen, fdPrinter, fdBoth);
  property Device: TFontDialogDevice;

    Здесь:

    Диапазон возможных значений размеров шрифтов определяется свойствами MinFontSize и MaxFontSize. Значения этих свойств задаются в пунктах (1 пункт равен 1/72 дюйма, что приблизительно равно 0,36 мм). Если свойства содержат 0, ограничения на размер шрифта отсутствуют.

    Представленное ниже свойство используется для настройки диалогового окна:

type TFontDialogOption =  (fdAnsiOnly,  fdTrueTypeOnly, fdEffects,   
   fdFixedPitchOnly, fdForceFontExist, fdNoFaceSel, fdNoOEMFonts, 
   fdNoSimulations, fdNoSizeSel, fdNoStyleSel,  fdNoVectorFonts, 
   fdShowHelp, fdWysiwyg, fdLimitSize, fdScalableOnly, fdApplyButton);
TFontDialogOptions = set of TFontDialogOption;
property Options: TFontDialogOptions;

    Значения этого свойства имеют следующий смысл:

    Результат выбора шрифта содержит свойство Font.

    Приведем небольшой пример использования данного компонента. На форме разместим компонент TFontDialog, а также кнопку TButton и компонент TLabel, используемый для демонстрации использования выбранного шрифта.


Рис.2. Внешний вид проекта

    Создадим обработчик события OnClick компонента TButton, который позволит выбрать требуемый шрифт и применить его к компоненту TLabel.

procedure TForm1.Button1Click(Sender: TObject);
begin
  // Выполняем диалог и анализируем его результат
  if FontDialog1.Execute then
    // Результат успешный - пользователь выбрал шрифт.
    // Используем выбранный шрифт.
    Label1.Font:=FontDialog1.Font;
end;
Текст этого примера можно взять здесь.

    Внешний вид работающего приложения приведен на рисунках 3 и 4.


Рис.3. Окно выбора шрифта


Рис.4. Выбранный шрифт применен к компоненту TLabel

    На следующем шаге мы рассмотрим компонент TColorDialog.




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