CFont::CreateFontIndirect
Инициализирует объект CFont с характеристиками, указанными в структуре LOGFONT.
BOOL CreateFontIndirect(
const LOGFONT* lpLogFont
);
Параметры
- lpLogFont
Указывает на LOGFONT составляющие, указывающее характеристики логического шрифта.
Возвращаемое значение
Ненулевой, если успешно; в противном случае – значение 0.
Заметки
Шрифт может быть затем выбрать в качестве текущий шрифт для каждого устройства.
Этот шрифт имеет характеристики, определенные в структуре LOGFONT. Если выбрать шрифт с помощью функции-члена CDC::SelectObject, модуль сопоставления логического шрифта GDI пытается сопоставить с существующими физический шрифт шрифтом. Если модуль сопоставления шрифта не удается найти точные соответствия для логического шрифта, он предоставляет альтернативный шрифт, характеристики которого соответствуют столько же характеристики, как возможный запрошенного.
Когда она больше не нужен объект CFont созданный функцией CreateFontIndirect, используйте CDC::SelectObject чтобы выбрать другой шрифт в контекст устройства, а затем удалите объект CFont, который больше не нужен.
Пример
// The code fragment shows how to create a font object,
// select the font object into a DC (device context) for text
// drawing, and finally delete the font object.
// Initializes a CFont object with the characteristics given
// in a LOGFONT structure.
CFont font;
LOGFONT lf;
memset(&lf, 0, sizeof(LOGFONT)); // zero out structure
lf.lfHeight = 12; // request a 12-pixel-height font
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE,
_T("Arial"), 7); // request a face name "Arial"
VERIFY(font.CreateFontIndirect(&lf)); // create the font
// Do something with the font just created...
CClientDC dc(this);
CFont* def_font = dc.SelectObject(&font);
dc.TextOut(5, 5, _T("Hello"), 5);
dc.SelectObject(def_font);
// Done with the font. Delete the font object.
font.DeleteObject();
Требования
заголовок: afxwin.h