Delphi: заметки программиста. Часть 1
Таблица 1. Некоторые текстовые функции Windows API
type TLogFont = record lfHeight: Integer; lfWidth: Integer; lfEscapment: Integer; lfOrientation: Integer; lfWeight: Integer; lfItalic: Byte; lfUnderline: Byte; lfStrikeOut: Byte; lfCharSet: Byte; lfOutPrecision: Byte; lfClipPrecision: Byte; lfQuality: Byte; lfPitchAndFamily: Byte; lfFaceName: PChar; end; function CreateFont(Font: TLogFont): hFont; |
Создает новый шрифт на основе данных в параметре Font (назначение полей структуры TLogFont см. в тексте после таблицы) |
function DrawText(DC: hDC; pText: PChar; var Rect: TRect; Format: Wodr): Integer; |
В прямоугольнике Rect выводит многострочный текст, на который указывает pText. Параметр Format используется для форматирования (см. ниже) |
function ExtTextOut(DC: hDC; X, Y: Integer; Options: Integer; Rect: TRect; pText: PChar; Count: Integer; PX: PInteger): Bool; |
Выводит текст с нестандартными межсимвольными расстояниями: X, Y — верхняя левая точка текста; Options — параметр, управляющий выводом (см. ниже); Rect — ограничивающий прямоугольник; pText — указатель на строку вывода; Count — количество выводимых символов; PX — указатель на массив целочисленных значений, определяющих межсимвольные расстояния: 1-й параметр — расстояние от 1-го до 2-го символа; 2-й параметр — расстояние от 2-го до 3-го символа и т.д.; если какой-то параметр равен 0, используется умалчиваемое межсимвольное расстояние |
function GetBkColor(DC: hDC): TColor; |
Возвращает цвет фона |
function GetBkMode(DC: hDC): Integer; |
Возвращает режим прорисовки фона: Opaque — фон прорисовывается заново при выводе текста; Transparent — фон не прорисовывается. |
function GetTextAlign(DC: hDC): Integer; |
Возвращает выравнивание текста |
function GetTextCharacterExtra(DC: hDC): Integer; |
Возвращает межсимвольное расстояние |
function SetBkColor(DC: hDC; Color: TColor): TColor; |
Устанавливает новый цвет фона и возвращает старый, если обращение успешно |
function SetBkMode(DC: hDC; Mode: Integer): Integer; |
Устанавливает новый режим прорисовки фона и возвращает старый, если операция успешна |
function SetTextAlign(DC: hDC; Flags: Integer): Integer; |
Устанавливает новое выравнивание текста и возвращает старое, если вызов успешен |
function SetTextCharacterExtra(DC: hDC; CharExtra: Integer): Integer; |
Устанавливает новое межсимвольное расстояние и возвращает старое, если вызов успешен |