CFont::CreatePointFontIndirect
Essa função é a mesma que CreateFontIndirect exceto que o membro de lfHeight de LOGFONT é interpretado nos décimos de um ponto em vez de unidades de dispositivo.
BOOL CreatePointFontIndirect(
const LOGFONT* lpLogFont,
CDC* pDC = NULL
);
Parâmetros
lpLogFont
Os pontos a LOGFONT estrutura que define as características da fonte lógica.O membro de lfHeight estrutura de LOGFONT é medido nos décimos de um ponto em vez de unidades lógicas.(Por exemplo, definir lfHeight a 120 para solicitar uma fonte de 12 pontos.)pDC
Ponteiro para o objeto de CDC a ser usado para converter altura em lfHeight as unidades lógicas.Se NULO, um contexto de dispositivo de tela é usado para a conversão.
Valor de retorno
Diferente de zero se com êxito, se não 0.
Comentários
Essa função automaticamente converte a altura em lfHeight as unidades lógicas usando o objeto de CDC apontado por pDC antes de passar a estrutura de LOGFONT sobre ao.
Quando você terminar com o objeto de CFont criado pela função de CreatePointFontIndirect primeiro, selecione a fonte fora do contexto de dispositivo, então exclua o objeto de CFont .
Exemplo
// 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();
Requisitos
Cabeçalho: afxwin.h