CFont::CreateFont

BOOL CreateFont ( int nHeight, int nWidth, int nEscapement, int nOrientation, int nWeight, БАЙТ bItalic, БАЙТ bUnderline, БАЙТ cStrikeOut, БАЙТ nCharSet, БАЙТ nOutPrecision, БАЙТ nClipPrecision, БАЙТ nQuality, БАЙТ nPitchAndFamily, LPCTSTR lpszFacename );

Возвращаемое значение

Ненулевое значение, если успешно; в противном случае 0.

Параметры

nHeight

Определяет необходимую высоту (в логических единицах) шрифта. Высота шрифта может быть указан следующими способами:

nWidth

Указывает среднюю ширину (в логических единицах) символов в шрифте. Если nWidth равен 0, пропорции устройства, будет совпадает с оцифровкой пропорции доступных шрифтов, чтобы найти ближайший матч, который определяется абсолютное значение разницы.

nEscapement

Определяет угол (по 0,1 степени) между вектор спусковой механизм и оси x отображаемой поверхности. Спусковой механизм вектор — это линия через истоки первый и последний знаки на линии. Угол измеряется против часовой стрелки от оси x.

nOrientation

Определяет угол (по 0,1 степени) между базовой линии символа и осью х. Угол измеряется против часовой стрелки от оси x для систем координат, в которой оси y по часовой стрелке от оси x для систем координат, в которой по оси y — вверх и вниз.

nWeight

Задает плотность шрифта (в пикселах рисования на 1000). Хотя nWeight может быть любое целое число от 0 до 1000, общие константы и ценности, являются:

Постоянный Значение
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_BLACK 900
FW_HEAVY 900

Эти значения являются приблизительными; фактический внешний вид зависит от шрифта. Некоторые шрифты имеют только FW_NORMAL, FW_REGULARи FW_BOLD весов. Если FW_DONTCARE указан, по умолчанию вес используется.

bItalic

Указывает, является ли шрифт курсивом.

bUnderline

Указывает, является ли шрифт подчеркнутым.

cStrikeOut

Определяет ли символов шрифта будут исключены. Определяет зачеркнутый шрифт, если задать ненулевое значение.

nCharSet

Указывает кодировку шрифта. Следующие константы и значения являются предопределенными:

Постоянный Значение
ANSI_CHARSET 0
DEFAULT_CHARSET 1
SYMBOL_CHARSET 2
SHIFTJIS_CHARSET 128
OEM_CHARSET 255

Набор символов OEM зависит от системы.

Шрифты с другими наборами символов может существовать в системе. Приложение, использующее шрифт с набором неизвестных символов не должны пытаться переводить или интерпретировать строки, которые должны быть с этого шрифта. Вместо этого строки должны быть переданы непосредственно драйвер устройства вывода.

Средство сопоставления шрифтов не использует значение DEFAULT_CHARSET . Приложение может использовать это значение, чтобы разрешить имя и размер шрифта для полного описания логического шрифта. Если шрифт с указанным именем не существует, можно заменить шрифт из любого набора символов для выбранного шрифта. Чтобы избежать непредвиденных результатов, приложения должны использовать значение DEFAULT_CHARSET расчетливо.

nOutPrecision

Указывает точность желаемый результат. Точность определяет, насколько близко должны соответствовать выводимых высота, ширина, ориентация символов, спусковой механизм и смолой. Это может быть любое из следующих значений:

OUT_CHARACTER_PRECIS OUT_STRING_PRECIS
OUT_DEFAULT_PRECIS OUT_STROKE_PRECIS
OUT_DEVICE_PRECIS OUT_TT_PRECIS
OUT_RASTER_PRECIS

Приложения могут использовать значения OUT_DEVICE_PRECIS, OUT_RASTER_PRECISи OUT_TT_PRECIS для контроля как средство сопоставления шрифтов выбирает шрифт, когда система содержит более одного шрифта с заданным именем. Например если система содержит шрифт с именем символа в растровые и TrueType форме, указав OUT_TT_PRECIS заставляет средство сопоставления шрифтов для выбора версии TrueType. (Указание OUT_TT_PRECIS заставляет средство сопоставления шрифтов выбрать шрифт TrueType всякий раз, когда имя указанного шрифта совпадает с устройства или растровый шрифт, даже когда нет не TrueType шрифт с таким же названием).

nClipPrecision

Указывает точность отсечения желаемого. Точность отсечения определяет, как отсекать символы, которые частично находятся за пределами области отсечения. Это может быть любое из следующих значений:

CLIP_CHARACTER_PRECIS CLIP_MASK
CLIP_DEFAULT_PRECIS CLIP_STROKE_PRECIS
CLIP_ENCAPSULATE CLIP_TT_ALWAYS
CLIP_LH_ANGLES

Чтобы использовать встроенный шрифт только для чтения, приложение должно указать CLIP_ENCAPSULATE.

Для достижения последовательного вращение устройства, TrueType и векторные шрифты, приложение может использовать оператор OR для объединения CLIP_LH_ANGLES значение с любым из других значений nClipPrecision . Если установлен бит CLIP_LH_ANGLES , вращение для всех шрифтов зависит ли ориентация системы координат левой рукой или правой рукой. (Дополнительные сведения об ориентации систем координат, см. в описании параметра nOrientation .) Если CLIP_LH_ANGLES не задано, шрифты устройства всегда поворот против часовой стрелки, но вращение других шрифтов зависит от ориентации системы координат.

nQuality

Указывает качество шрифта вывода, который определяет, как тщательно GDI должен добиваться соответствия параметров логического шрифта параметрам физического шрифта. Это может быть одним из следующих значений:

nPitchAndFamily

Определяет высоту и семейство шрифта. Две младшие биты укажите поле шрифта и может принимать любое из следующих значений:

DEFAULT_PITCH VARIABLE_PITCH FIXED_PITCH

Приложения можно добавить TMPF_TRUETYPE в nPitchAndFamily параметр выбрать шрифт TrueType. Четыре старшие биты параметра укажите семейство шрифтов и может принимать любое из следующих значений:

lpszFacename

CString или указатель на строку нулем, которая указывает название гарнитуры шрифта. Длина этой строки не должна превышать 30 символов. Функция Windows EnumFontFamilies может использоваться для перечисления всех имеющихся в настоящее время шрифтов. Если lpszFacename имеет значение NULL, GDI использует аппаратно независимые шрифт.

Примечания

Инициализирует объект CFont с заданным характеристикам. Качестве шрифта для любого контекста устройства впоследствии может быть выбран шрифт.

Функция CreateFont не создает новый шрифт Windows GDI. Он лишь выбирает ближайший матч из шрифтов в GDI пула физических шрифтов.

Приложения могут использовать параметры по умолчанию для большинства из этих параметров при создании логического шрифта. Параметры, которые должны всегда быть конкретные значения являются nHeight и lpszFacename. Если приложением не установлены nHeight и lpszFacename , логический шрифт, который будет создан аппаратно зависимые.

Когда вы закончите с CFont объект, созданный с помощью функции CreateFont , сначала выберите шрифт из контекста устройства, а затем удалить объект CFont.

Обзор CFont |nbsp; Члены класса | Иерархическая схема

См. такжеnbsp;CFont::CreateFontIndirect, CFont::CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts

Index