type TLogFont = record
If Height: Integer;
IfWidth: Integer; IfEs-
capment: Integer; IfOri-
entation: Integer; IfWeight: Integer;
If Italic: Byte; IfUnder-
line: Byte; IfStrikeOut:
Byte; IfCharSet: Byte;
IfOutPrecision: Byte;
IfClipPrecision: Byte;
IfQuality: Byte; IfPitchAndFamily: Byte;
1fFaceName: PChar;
end;
function CreateFont(Font:
TLogFont): hFont;
| Создает новый шрифт на основе данных в параметре Font. Назначение полей структуры TLogFont см. после таблицы
|
function DrawText(DC:hDC; pText: PChar; varRect:'TRect; Format:UINT): Integer;
| В прямоугольнике Rect выводит многострочный текст, на который указывает pText. Параметр Format используется для форматирования (см.ниже)
|
function ExtTextOut(DC:
hDC; X, Y: Integer; Op
tions: 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;
| Устанавливает новое межсимвольное расстояние и возвращает старое, если вызов успешен
|
Отдельные поля структуры TLogFont для функции CreateFontIndirect имеют следующий смысл:
if Height - высота шрифта в пунктах (1 пункт = 1/72 дюйма); если больше 0, определяет высоту “знакоместа” (с учетом выступающих над заглавным символом элементов в буквах Е, И), если меньше нуля - высоту “чистого” символа, если 0 - высоту выбирает Windows;
if width - средняя ширина символа; если 0, ширину устанавливает Windows;
ifEscapment - угол наклона базовой линии текста в десятых долях градуса относительно горизонтального направления; положительные значения - поворот по часовой стрелке; в Windows 95/98 совпадает СIfOrientation;
iforientation - угол наклона символов по отношению к базовой линии; в Windows NT для шрифтов True Type может отличаться от ifEscapment; для этого следует установить режим устройства отображения равным gm_Advanced (по умолчанию устанавливается gm_Compatible);
IfWeight - плотность шрифта (fm_DontCare=0 - плотность выбирает Windows; fm_Thin=100 - очень тонкий шрифт;
fm_ExtraLight=200 - очень светлый; fm_Light=300 - светлый;
fm_Normal=400 - нормальный; fm_Medium=500 - утолщенный;
fm_SemiBold=600 - полужирный; fm_Bcld=700 - жирный;
fm_ExtraBold=800 - усиленный; fm_Heavy=900 - тяжелый);
ifitalic, ifunderiine, ifStrikeOut - ненулевое значение означает соответственно наклонный, перечеркнутый и подчеркнутый шрифт;
IfCharSet -Набор символов (ANSI_CharSet=0, Default_CharSet=l;
Symbol_CharSet=2;ShiftJis_CharSet=128;OEM_CharSet=255);
ifoutprecision - точность представления шрифта; рекомендуется out__TT_prec (выбирает True Type и векторные шрифты, если есть несколько разновидностей одноименных шрифтов) или out_TT_oniy_prec (только True Type);
ifciipprecision -определяет точность отсечения надписи границами области прорисовки (Clip_Character_Precis, Clip_Embedded, Clip_Mask, Clip_TT_Always, Clip_Default_Precis - рекомендуется, Clip_LH_Angles, Clip_Stroke_Precis);
IfQuality - Определяет качество прорисовки (Default_Quality, Draft_Quality,Proof_Quality);
ifpitchAndFamily - в четырех младших разрядах указывается тип шрифта, в четырех старших ~ его семейство;
IfFaceName - имя гарнитуры шрифта.