Поделиться через


Функция CreateFontIndirectA (wingdi.h)

Функция CreateFontIndirect создает логический шрифт с указанными характеристиками. Затем шрифт можно выбрать в качестве текущего шрифта для любого контекста устройства.

Синтаксис

HFONT CreateFontIndirectA(
  [in] const LOGFONTA *lplf
);

Параметры

[in] lplf

Указатель на структуру LOGFONT, которая определяет характеристики логического шрифта.

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

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

Если функция завершается ошибкой, возвращаемое значение равно NULL.

Замечания

Функция CreateFontIndirect создает логический шрифт с характеристиками, указанными в структуре LOGFONT. Если этот шрифт выбран с помощью функции SelectObject, функция сопоставления шрифтов GDI пытается сопоставить логический шрифт с существующим физическим шрифтом. Если не удается найти точное совпадение, он предоставляет альтернативу, характеристики которой соответствуют максимальному набору запрошенных характеристик.

Чтобы получить соответствующий шрифт для различных языковых версий ОС, вызовите EnumFontFamiliesEx с требуемыми характеристиками шрифта в структуре LOGFONT, получите соответствующее имя шрифта и создайте шрифт с помощью CreateFont или CreateFontIndirect.

Если шрифт больше не нужен, вызовите функцию deleteObject .

Шрифты для многих языков Восточной Азии имеют два названия шрифтов: английское имя и локализованное имя. CreateFont и CreateFontIndirect использовать локализованное имя шрифта только в языковом стандарте системы, который соответствует языку, в то время как они принимают имя английского шрифта во всех остальных языковых стандартах системы. Лучший метод — попробовать одно имя и при сбое попробовать другое. Обратите внимание, что EnumFonts, EnumFontFamilies, а EnumFontFamiliesEx вернуть имя английского шрифта, если языковой стандарт системы не соответствует языку шрифта.

Схема шрифтов для CreateFont, CreateFontIndirect, а CreateFontIndirectEx распознает как английский, так и локализованное имя шрифта независимо от языкового стандарта.

Примеры

Пример см. в статье Создание логического шрифта.

Заметка

Заголовок wingdi.h определяет CreateFontIndirect как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows 2000 Server [только классические приложения]
целевая платформа Виндоус
заголовка wingdi.h (включая Windows.h)
библиотеки Gdi32.lib
DLL Gdi32.dll

См. также

CreateFont

CreateFontIndirectEx

DeleteObject

EnumFontFamilies

EnumFontFamiliesEx

EnumFonts

функции шрифта и текста

шрифтов и текста

LOGFONT

SelectObject