Использование стокового шрифта для рисования текста
Система предоставляет шесть стандартных шрифтов. Стандартный шрифт — это логический шрифт, который приложение может получить, вызвав функцию GetStockObject и указав запрошенный шрифт. В следующем списке содержатся значения, которые можно указать для получения стандартного шрифта.
Значение | Значение |
---|---|
ANSI_FIXED_FONT | Задает монопространствовый шрифт на основе набора символов Windows. Обычно используется шрифт Courier. |
ANSI_VAR_FONT | Задает пропорциональный шрифт на основе набора символов Windows. Обычно используется MS Без засечек. |
DEVICE_DEFAULT_FONT | Указывает предпочтительный шрифт для указанного устройства. Обычно это шрифт System для устройств отображения; Однако для некоторых принтеров с точками матрицы это шрифт, который находится на устройстве. (Печать с помощью этого шрифта обычно выполняется быстрее, чем печать с загруженным растровым шрифтом). |
OEM_FIXED_FONT | Задает монопространствовый шрифт на основе набора символов OEM. Для компьютеров IBM и совместимых с ним шрифт oem основан на наборе символов IBM PC. |
SYSTEM_FONT | Задает шрифт System. Это пропорциональный шрифт, основанный на наборе символов Windows, и используется операционной системой для отображения заголовков окон, имен меню и текста в диалоговых окнах. Шрифт System доступен всегда. Другие шрифты доступны только в том случае, если они установлены. |
SYSTEM_FIXED_FONT | Указывает монопространствой шрифт, совместимый со шрифтом System в ранних версиях Windows. |
Дополнительные сведения о шрифтах см. в разделе Сведения о шрифтах.
В следующем примере извлекается дескриптор для стандартного шрифта переменной, выбирается в контексте устройства, а затем записывается строка с помощью этого шрифта:
HFONT hFont, hOldFont;
// Retrieve a handle to the variable stock font.
hFont = (HFONT)GetStockObject(ANSI_VAR_FONT);
// Select the variable stock font into the specified device context.
if (hOldFont = (HFONT)SelectObject(hdc, hFont))
{
// Display the text string.
TextOut(hdc, 10, 50, L"Sample ANSI_VAR_FONT text", 25);
// Restore the original font.
SelectObject(hdc, hOldFont);
}
Если другие стандартные шрифты недоступны, GetStockObject возвращает дескриптор системного шрифта (SYSTEM_FONT). Стандартные шрифты следует использовать только в том случае, если режим сопоставления для контекста устройства приложения MM_TEXT.