Compartilhar via


CFont::CreateFont

Inicializa um objeto de CFont com as características específicas.

BOOL CreateFont( 
   int nHeight, 
   int nWidth, 
   int nEscapement, 
   int nOrientation, 
   int nWeight, 
   BYTE bItalic, 
   BYTE bUnderline, 
   BYTE cStrikeOut, 
   BYTE nCharSet, 
   BYTE nOutPrecision, 
   BYTE nClipPrecision, 
   BYTE nQuality, 
   BYTE nPitchAndFamily, 
   LPCTSTR lpszFacename  
);

Parâmetros

  • nHeight
    Especifica a altura desejada (em unidades lógicas) da fonte. Consulte o membro de lfHeight estrutura de LOGFONTem Windows SDK para obter uma descrição. O valor absoluto de nHeight não pode exceder 16.384 unidades de dispositivo depois que ele é convertido. Para todas as comparações altura, o mapeador de fonte procura pela fonte maior que não tamanho excede o aplicativo ou fonte a menor se todas as fontes exceder o tamanho aplicativo.

  • nWidth
    Especifica a largura do meio (em unidades lógicas) de caracteres na fonte. Se nWidth é 0, o extensor de dispositivo será comparado com o extensor de numeração de fontes disponíveis para localizar a correspondência, que é determinado pelo valor absoluto da diferença.

  • nEscapement
    Especifica o menor (em unidades de 0,1 graus) entre o vetor de escape e o eixo x na superfície de exibição. O vetor de escape é a linha com fontes primeiro e último de caracteres em uma linha. O ângulo é medido no sentido anti-horário do eixo x. Consulte o membro de lfEscapement na estrutura de LOGFONT em Windows SDK para mais informações.

  • nOrientation
    Especifica o menor (em unidades de 0,1 graus) entre a linha de base de um caractere e o eixo x. O ângulo é medido no sentido anti-horário do eixo x para os sistemas de coordenadas em que a direção y é para baixo e no sentido horário do eixo x para os sistemas de coordenadas em que a direção y está acima.

  • nWeight
    Especifica a espessura da fonte (em pixels cobertos por 1000). Consulte o membro de lfWeight na estrutura de LOGFONT em Windows SDK para mais informações. Os valores são descritos aproximados; a aparência real depende de carácter tipo. Algumas fontes só tem FW_NORMAL, FW_REGULAR, e pesos de FW_BOLD . Se FW_DONTCARE é especificado, um simples padrão é usado.

  • bItalic
    Especifica se a fonte é itálico.

  • bUnderline
    Especifica se a fonte é sublinhada.

  • cStrikeOut
    Especifica se os caracteres na fonte estão golpeados para fora. Especifica uma fonte de strikeout se definido como um valor diferente de zero.

  • nCharSet
    Especifica o setSee de caracteres de fonte o membro de lfCharSet na estrutura de LOGFONT em Windows SDK para obter uma lista de valores.

    O conjunto de caracteres de OEM é dependente do sistema.

    As fontes com outros conjuntos de caracteres podem existir no sistema. Um aplicativo que usa uma fonte com um conjunto de caracteres desconhecido não deve tentar converter ou interpretar as cadeias de caracteres que devem ser processada com a fonte. Em vez de isso, as cadeias de caracteres devem ser passadas diretamente para o driver de dispositivo de saída.

    O mapeador da fonte não usa o valor de DEFAULT_CHARSET . Um aplicativo pode usar esse valor para permitir que o nome e o tamanho de uma fonte descrevam totalmente a fonte lógica. Se uma fonte com o nome especificado não existir, uma fonte de qualquer conjunto de caracteres pode ser substituída para a fonte especificada. Para evitar resultados inesperados, os aplicativos devem usar o valor de DEFAULT_CHARSET com parcimônia.

  • nOutPrecision
    Especifica a precisão desejada de saída. A precisão de saída define como a saída devem corresponder a altura da fonte solicitada, a largura, a orientação, o caractere de escape, e densidade. Consulte o membro de lfOutPrecision na estrutura de LOGFONT em Windows SDK para obter uma lista de valores e para obter mais informações.

  • nClipPrecision
    Especifica a precisão recortando desejada. A precisão de recorte define como recortar caracteres que são parcialmente fora da região de corte. Consulte o membro de lfClipPrecision na estrutura de LOGFONT em Windows SDK para obter uma lista de valores.

    Para usar uma fonte somente leitura inserido, um aplicativo deve especificar CLIP_ENCAPSULATE.

    Para obter a rotação consistente de dispositivo, e as fontes TrueType vetoriais, um aplicativo pode usar o operador OR para combinar o valor de CLIP_LH_ANGLES com alguns dos outros valores de nClipPrecision . Se o bit de CLIP_LH_ANGLES é definido, a rotação para todas as fontes depende se a orientação do sistema de coordenadas é canhota ou destro. (Para obter mais informações sobre a orientação de sistemas de coordenadas, consulte a descrição do parâmetro de nOrientation .) Se CLIP_LH_ANGLES não é definido, as fontes de dispositivo giram sempre no sentido anti-horário, mas a rotação de outras fontes é dependente na orientação do sistema de coordenadas.

  • nQuality
    Especifica a qualidade de saída da fonte, que define como cuidadosamente o GDI deve tentar coincidir com os atributos de lógico- fonte com aqueles de uma fonte físico real. Consulte o membro de lfQuality na estrutura de LOGFONT em Windows SDK para obter uma lista de valores.

  • nPitchAndFamily
    Especifica densidade e a família de fontes. Consulte o membro de lfPitchAndFamily na estrutura de LOGFONT em Windows SDK para obter uma lista de valores e para obter mais informações.

  • lpszFacename
    CString ou um ponteiro para uma cadeia de caracteres NULL- finalizada que especifica o nome de carácter tipo da fonte. O comprimento da cadeia de caracteres não deve exceder 30 caracteres. A função de EnumFontFamilies do windows pode ser usada para especificar qualquer momento fontes disponíveis. Se lpszFacename é NULL, o GDI usa um carácter tipo independente.

Valor de retorno

Diferente de zero se com êxito; se não 0.

Comentários

A fonte posteriormente pode ser marcada como a fonte para qualquer contexto de dispositivo.

A função de CreateFont não cria uma fonte do windows GDI. Simplesmente seleciona a correspondência de fontes físicas disponíveis para o GDI.

Os aplicativos podem usar as configurações padrão para a maioria de parâmetros para criar uma fonte lógica. Os parâmetros que sempre devem ser dados valores específicos são nHeight e lpszFacename. Se nHeight e lpszFacename não estão definidos pelo aplicativo, a fonte lógica que é criada é dependente de dispositivo.

Quando você terminar com o objeto de CFont criado pela função de CreateFont , 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 specified characteristics. 
CFont font;
VERIFY(font.CreateFont(
   12,                        // nHeight
   0,                         // nWidth
   0,                         // nEscapement
   0,                         // nOrientation
   FW_NORMAL,                 // nWeight
   FALSE,                     // bItalic
   FALSE,                     // bUnderline
   0,                         // cStrikeOut
   ANSI_CHARSET,              // nCharSet
   OUT_DEFAULT_PRECIS,        // nOutPrecision
   CLIP_DEFAULT_PRECIS,       // nClipPrecision
   DEFAULT_QUALITY,           // nQuality
   DEFAULT_PITCH | FF_SWISS,  // nPitchAndFamily
   _T("Arial")));                 // lpszFacename 

// 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

Consulte também

Referência

Classe CFont

Gráfico da hierarquia

CFont::CreateFontIndirect

CFont::CreatePointFont

CreateFont

EnumFontFamilies

EnumFonts

LOGFONT