CFont::CreateFontIndirect
Inicializa um objeto de CFont com as características fornecidas em uma estrutura de LOGFONT.
BOOL CreateFontIndirect(
const LOGFONT* lpLogFont
);
Parâmetros
- lpLogFont
Os pontos a LOGFONT estrutura que define as características da fonte lógica.
Valor de retorno
Diferente de zero se com êxito; se não 0.
Comentários
A fonte posteriormente pode ser marcada como a fonte atual para qualquer dispositivo.
A fonte tem as características especificadas na estrutura de LOGFONT .Quando a fonte é selecionada usando a função de membro de CDC::SelectObject , o mapeador da fonte do GDI tenta corresponder a fonte lógica com uma fonte físico existente.Se o mapeador da fonte não encontra uma correspondência exata para a fonte lógica, ele fornece uma fonte alternativa cujas as características correspondam ao tanto como as características solicitadas quanto possível.
Quando você não precisa o objeto de CFont criado pela função de CreateFontIndirect , use CDC::SelectObject selecionar uma fonte diferente no contexto de dispositivo, então exclua o objeto de CFont que ele não for necessário.
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.
// 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();
Requisitos
Cabeçalho: afxwin.h