В стандартном графическом интерфейсе Windows (GDI) основой для рисования служит дескриптор контекста устройства нос и связанные с ним шрифт, перо и кисть. В состав VCL входят объектно-ориентированные надстройки над последними, назначением которых является удобный доступ к свойствам инструментов и прозрачная для пользователя обработка всех их изменений.
Обязательным для любого объекта, связанного с графикой в Delphi, является событие:
property CnChange: TNot i fyEvent ;
Его обработчик вызывается всякий раз, когда меняются какие-то характеристики объекта, влияющие на его внешний вид.
Класс TFont
Класс инкапсулирует шрифт Windows. В Delphi допускаются только горизонтально расположенные шрифты. В конструкторе объекта по умолчанию принимается шрифт System, цвета clwindowText и размером 10 пунктов.
Свойства класса приведены в табл. 10.1.
Таблица 10.1. Свойства класса TFont
Свойство |
Описание |
|
Содержит дескриптор шрифта |
|
Содержит имя (начертание) шрифта, например, Arial |
property Style: TFontStyles; TFontStyle = (fsBold, fsltalic,
|
Содержит стиль (особенности начертания) шрифта: соответственно жирный, курсив, подчеркнутый и перечеркнутый |
|
Определяет цвет шрифта |
|
Содержит номер набора символов шрифта. По ¥молчанию равно 1 (DEFAULTJTHARSET). Для вывода символов кириллицы требуется RUSSIAN__CHARSET |
|
Определяет способ установки ширины символов шрифта. Значение fp Fixed соответствует моноширинным шрифтам; f pVariable - шрифтам с переменной шириной символа. Установка fpDefault означает принятие того способа, который определен начертанием |
|
Содержит значение высоты шрифта в пикселах |
|
Определяет число точек на дюйм. Первоначально равно числу точек на дюйм в контексте экрана. Программист не должен изменять это свойство, т. к. оно используется системой для приведения изображения на экране и на принтере к одному виду |
|
Содержит размер шрифта в пунктах (как |
принято в Windows). Это свойство связано |
|
с Height соотношением: |
|
Font.Size := -Font.Height*72/ |
|
Font.PixelsPerlnch |
Установка этих свойств вручную, как правило, не нужна. Если вы хотите изменить шрифт для какого-то компонента, воспользуйтесь компонентом TFontDialog. В нем можно и поменять свойства, и сразу увидеть получившийся результат на тестовой надписи; потом выбранный шрифт присваивается свойству Font нужного компонента:
if FontDialogl.Execute then Editl.Font := FontDialogl.Font;
Примечание )
Если вы хотите, не закрывая диалог, увидеть результат применения шрифта на вашем тексте, включите опцию fdApplyButton в свойстве Options объекта TFontDiaiog и напишите для него обработчик события OnApply. При этом в диалоговом окне появится кнопка Apply, по нажатии которой (событие OnApply) можно изменить параметры шрифта.