Справочник по компонентам Delphi. Часть 2 - Компонент TFontDialog

ОГЛАВЛЕНИЕ

 

Компонент TFontDialog

TObject -> TPersistent -> TComponent -> TCommonDialog -> TFontDialog

Модуль DIALOGS

Страница Палитры компонентов Dialogs

Позволяет выбрать один из установленных в системе шрифтов.

В множество выбора могут быть включены шрифты, поддерживаемые только

принтером, дисплеем или обоими устройствами, что определяется в свойстве:

(pb) property Device: TFontDialogDevice;
TFontDialogDevice = (fdScreen, fdPrinter, fdBoth);

Диапазон возможных значений размеров (кеглей) шрифтов может быть ограничен с использованием свойств:

(Pb) property MinPontSize: Integer;(Pb) property MaxFontSize: Integer;

Ограничения действительны только при установленной опции fdLimitSizes (см. свойство Options). Если свойства установлены в 0, это означает, что соответ­ствующее ограничение отстутствует.

Опции диалогового окна определяются свойством:

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

В состав списка выбора могут быть включены только шрифты, обладающие определенным свойством. Для этой цели предусмотрены опции:

  • fdAnsiOnly — включает только шрифты, содержащие стандартный набор символов Windows;
  • fdTrueTypeOnly — включает только шрифты TrueType;
  • fdScalableOnly — включает только масштабируемые шрифты;
  • fdFixedPitchOnly — включает только моноширинные шрифты;
  • fdWysiwyg — включает только шрифты, которые поддерживаются и диспле­ем, и принтером;
  • fdNoOEMFonts, fdNoVectorFonts — обе опции исключают из списка век­торные шрифты;
  • fdNoSimulations — исключает из списка те шрифты, которые моделируются графическим интерфейсом Windows;

В любом случае, выбрав шрифт, пользователь может установить его размер и стиль. Если задана опция fdEffects, в диалоге пользователь может определить дополнительные атрибуты: цвет шрифта и его подчеркивание (underline) и перечеркивание (strikeout).

Наличие опций fdNoFaceSel, fdNoSizeSel и fdNoStyleSel означает, что при инициализации диалога не будут заданы начальные значения шрифта, его размера и стиля соответственно.

Другие опции:
  • fdForceFontExist — включает возможность предупреждения пользователя о том, что он выбрал несуществующий тппиДт-
  • fdShowHelp — включает в состав диалога кнопку Help;
  • fdLimitSize — позволяет ограничивать размер выбираемого шрифта.

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

(Pb) property Font: TFont;

содержащему новый шрифт. Но можно и до завершения просмотреть резуль­таты смены шрифта. Для этого надо определить обработчик события:

(Pb) property OnApply: TFDApplyEvent;
TFDApplyEvent = procedure(Sender: TObject; Wnd: HWND) of object;

Если обработчик определен, то в этом случае в диалоге появляется до­полнительная кнопка Apply. При ее нажатии в окне Wnd прежний шрифт немедленно заменяется на выбранный.