CFont::CreatePointFontIndirect
Эта функция аналогична CreateFontIndirect за исключением того, что элемент lfHeightLOGFONT интерпретируется в десятых точки вместо единиц устройства.
BOOL CreatePointFontIndirect(
const LOGFONT* lpLogFont,
CDC* pDC = NULL
);
Параметры
lpLogFont
Указывает на LOGFONT составляющие, указывающее характеристики логического шрифта.Элемент lfHeight структуры LOGFONT измеряется в десятых точки вместо логических модулей.(Например, set lfHeight до 120, чтобы запросить шрифт 12 пунктов).pDC
Указатель на объект CDC, используемый для преобразования высота в lfHeight к логическим модулям.Если NULL контекст устройства экрана используется для преобразования.
Возвращаемое значение
Ненулевой, если успешно, в противном случае – значение 0.
Заметки
Эта функция автоматически преобразует высота в lfHeight к логическим модули с помощью объекта CDC указанный в pDC перед передачей структуры LOGFONT в Windows.
Завершив с объектом CFont созданный функцией CreatePointFontIndirect, сначала установите шрифт из контекста устройства, а затем удалите объект 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.
LOGFONT lf;
// clear out structure.
memset(&lf, 0, sizeof(LOGFONT));
// request a 12-pixel-height font
lf.lfHeight = 120;
// request a face name "Arial".
_tcsncpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"), 7);
CClientDC dc(this);
CFont font;
VERIFY(font.CreatePointFontIndirect(&lf, &dc));
// Do something with the font just created...
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();
Требования
Header: afxwin.h