На этом шаге мы рассмотрим компонент, используемый для выбора шрифта.
Компонент TFontDialog создает и обслуживает стандартное окно выбора шрифта (рисунок 1).
Рис.1. Стандартное окно TFontDialog
Следующее свойство определяет тип устройства, для которого выбирается шрифт:
TFontDialogDeviсe = (fdScreen, fdPrinter, fdBoth); property Device: TFontDialogDevice;
Здесь:
- fdScreen - экран;
- fdPrinter - принтер;
- fdBoth - шрифты, поддерживаемые и экраном, и принтером.
Диапазон возможных значений размеров шрифтов определяется свойствами 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;
Значения этого свойства имеют следующий смысл:
- fdAnsiOnlу - показывает только шрифты с набором символов Windows;
- fdTrueTypeOnlу - показывает только TrueType-шрифты;
- fdEffects - включает в окно флажки Подчеркнутый и Зачеркнутый, а также список выбора цвета шрифта;
- fdFixedPitchOnly - включает только моноширинные шрифты;
- fdForceFontExist - предупреждает о выборе несуществующего шрифта;
- fdNoFaceSel - запрещает выделение имени шрифта в момент открытия окна;
- fdNoOEMFonts - запрещает выбор шрифтов MS-DOS;
- fdNoSimulations - исключает шрифты, которые синтезируются графическим интерфейсом Windows;
- fdNoSizeSel - запрещает выделение размера шрифта в момент открытия окна;
- fdNoStyleSel - запрещает выделение стиля шрифта в момент открытия окна;
- fdNoVectorFonts - исключает векторные шрифты (шрифты для Windows версии 1.0 используются в плоттерах);
- fdShowHelp - включает в диалоговое окно кнопку Справка;
- fdWysiwyg - включает шрифты, которые поддерживаются и экраном, и принтером;
- fdLimitSize - включает ограничения на размер шрифта, заданные свойствами MaxFontSize и MinFontSize;
- fdScalableOnly - включает только масштабируемые шрифты (векторные и TrueType-шрифты);
- fdApplyButton - включает в окно кнопку Применить.
Результат выбора шрифта содержит свойство 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.