Функция 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 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | wingdi.h (включая Windows.h) |
Библиотека | Gdi32.lib |
DLL | Gdi32.dll |