logo
Программирование в среде Delphy / Программирование в среде Delphi

21.3. Классы tFont, tPen и tBrush

Класс TFont определяет объект «шрифт» для любого графического устройства (экран, принтер и т.д.).

Свойства класса TFont:

Property Charset: TFontCharSet; – набор символов. Для русскоязычных программ это свойство обычно имеет значение DEFAULTCHARSET или RUSSIAN CHARSET. Используйте значение OEMCHARSET для отображения текста MS–DOS (альтернативная кодировка);

Property Color: TColor; – цвет шрифта;

Property FontAdapter: IChangeNotifier; – указатель на интерфейс для передачи информации о шрифте в компоненты ActveX;

Property Handle: hFont; – дескриптор шрифта. Используется при непосредственном обращении к API–функциям Windows;

Property Height: Integer; – высота шрифта в пикселях;

Property Name: TFontName; – имя шрифта. По умолчанию имеет значение MS Sans Serif;

Property Pitch: TFontPitch; – определяет способ расположения букв в тексте: значение fpFixed задает моноширинный текст, при котором каждая буква имеет одинаковую ширину; значение fpVariabel определяет пропорциональный текст, при котором ширина буквы зависит от ее начертания; fpDefault определяет ширину, принятую для текущего шрифта;

Property PixelPerInch: Integer; – определяет количество пикселей экрана на один дюйм реальной длины. Это свойство не следует изменять, так как оно используется системой для обеспечения соответствия экранного шрифта шрифту принтера;

Property Size: Integer; – высота шрифта в пунктах (1/72 дюйма). Изменение этого свойства автоматически изменяет свойство Height и наоборот;

Property Style: TFontStyles; – стиль шрифта. Может принимать значение как комбинацию следующих признаков: fsBold (жирный), fsItalic (кypсив), fsUnderline (подчеркнутый), fsStrikeOut (перечеркнутый).

Класс TPen определяет объект «перо» для рисования линий.

Его основные свойства:

Property Color:TColor; – цвет вычерчиваемых пером линий;

Property Handle: Integer; – дескриптор пера. Используется при непосредственном обращении к API–функциям Windows;

Property Mode:TPenMode ; – определяет способ взаимодействия линий с фоном (см. ниже);

Property Style:TPenStyle; – определяет стиль линий. Этот стиль имеет слысл только для толщины линий в 1 пиксель. Для толстых линий стиль всегда psSolid (сплошная);

Property Width: Integer; – толщина линий в пикселях.

Значения свойства Mode:

o pmBlack – линии всегда черные. Свойства Color и Style игнорируются;

o pmWhite – линии всегда белые. Свойства Color и Style игнорируются;

o pmNop – цвет фона не меняется (линии не видны);

o pmNot – инверсия цвета фона. Свойства Color и Style игнорируются;

o pmCopy – цвет линий определяется свойством Color пера;

o pmMotCopy – инверсия цвета пера. Свойство Style игнорируется;

o pmMergePenNot – комбинация цвета пера и инверсионного цвета фона;

o pmMaskPenNot – комбинация общих цветов для пера и инверсионного цвета фона. Свойство Style игнорируется;

o pmMergeNotPen – комбинация инверсионного цвета пера и фона;

o pmMaskNotPen – комбинация общих цветов для инверсионного цвета пера и фона. Свойство Style игнорируется;

o pmMerge – комбинация цветов пера и фона;

o pmNotMerge – инверсия цветов пера и фона. Свойство Style игнорируется;

o pmMask – общие цвета пера и фона;

o pmNotMask – инверсия общих цветов пера и фона;

o pmXor – объединение цветов пера и фона операцией ХОR;

o pmNotXor – инверсия объединения цветов пера и фона операцией XOR.

Стили линий показаны ниже:

Следует заметить, что в системе Windows есть одна существенная недоработка, а именно – все линий, кроме psSolid, могут быть толщиной только в 1 пиксель.

Класс TBrush служит для описания параметров кисти для заполнения внутреннего пространства замкнутых фигур.

Свойства класса TBrush:

Property Bitmap: TBitmap; – содержит растровое изображение, которое будет использоваться кистью для заполнения. Если это свойство определено, свойства Color и Style игнорируются;

Property Color: TColor; – цвет кисти;

Property Handle: Integer; – дескриптор кисти. Он используется при непосредственном обращении к API–функциям Windows;

Property Style:TBrushStyle; – стиль кисти.

Стили кисти: