Справочник по компонентам 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 прежний шрифт немедленно заменяется на выбранный.