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


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

См. также

Ссылки

Класс CFont

Диаграмма иерархии

CFont::CreatePointFont

CFont::CreateFontIndirect