CFont:: CreateFont

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 );

Valor de retorno

Diferente de zero se bem-sucedida; caso contrário 0.

Parâmetros

nHeight

Especifica a altura desejada (em unidades lógicas) da fonte. A altura da fonte pode ser especificada da seguinte maneira:

nWidth

Especifica o médio largura (nas unidades lógicas) de caracteres na fonte. Se nWidth for 0, a taxa de proporção do dispositivo haverá correspondência contra a proporção digitization da disponível fontes para localizar a correspondência mais próxima, que é determinada pelo valor absoluto da diferença.

nEscapement

Especifica o ângulo (em unidades de 0,1 grau) entre o vetor escapement e do eixo x de superfície de Exibir. O vetor de escapement é a linha até as origens do primeiro e último caracteres em uma linha. O ângulo é medido no sentido anti-horário do eixo x.

nOrientation

Especifica o ângulo (em unidades de 0,1 grau) entre a linha de base de um caractere e o eixo x. O ângulo é medido no sentido anti-horário do eixo x para sistemas de coordenada em que direção y é para baixo e no sentido horário do eixo x para sistemas de coordenada em que direção y é até.

nWeight

Especifica a espessura da fonte (em pixels inked por 1000). Embora nWeight pode ser qualquer valor inteiro de 0 a 1000, as constantes e os valores comuns são os seguintes:

Constante Valor
FW_DONTCARE 0
FW_THIN 100
FW_EXTRALIGHT 200
FW_ULTRALIGHT 200
FW_LIGHT 300
FW_NORMAL 400
FW_REGULAR 400
FW_MEDIUM 500
FW_SEMIBOLD 600
FW_DEMIBOLD 600
FW_BOLD 700
FW_EXTRABOLD 800
FW_ULTRABOLD 800
FW_BLACK 900
FW_HEAVY 900

Esses valores são aproximados; a aparência real depende do tipo de letra. Algumas fontes têm somente FW_NORMAL, FW_REGULARe FW_BOLD pesos. Se FW_DONTCARE for especificado, é utilizado um peso padrão.

bItalic

Especifica se a fonte está em itálico.

bUnderline

Especifica se a fonte é sublinhada.

cStrikeOut

Especifica se os caracteres na fonte são inutilizadas. Especifica uma fonte riscado se definida como um valor diferente de zero.

nCharSet

Especifica o conjunto de caracteres da fonte. As seguintes constantes e valores são predefinidos:

Constante Valor
ANSI_CHARSET 0
DEFAULT_CHARSET 1
SYMBOL_CHARSET 2
SHIFTJIS_CHARSET 128
OEM_CHARSET 255

O conjunto de caracteres OEM é dependente do sistema.

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 seqüências de caracteres que devem ser processados com essa fonte. Em vez disso, as seqüências de caracteres devem ser passadas diretamente para o driver de dispositivo de saída.

O mapeador da fonte não usa o valor DEFAULT_CHARSET . Um aplicativo pode usar esse valor para permitir que o nome e o tamanho de uma fonte para descrever totalmente a fonte lógico. 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, aplicativos devem usar o valor DEFAULT_CHARSET com moderação.

nOutPrecision

Especifica a precisão de saída desejada. A precisão saída define como estreitamente a saída deve corresponder a fonte solicitada altura, largura, orientação de caractere, escapement e densidade. Pode ser qualquer um dos seguintes valores:

OUT_CHARACTER_PRECIS OUT_STRING_PRECIS
OUT_DEFAULT_PRECIS OUT_STROKE_PRECIS
OUT_DEVICE_PRECIS OUT_TT_PRECIS
OUT_RASTER_PRECIS

Aplicativos podem usar os valores OUT_DEVICE_PRECIS, OUT_RASTER_PRECISe OUT_TT_PRECIS para controlar como o mapeador de fonte escolhe um tipo de letra quando o sistema contém mais de uma fonte com um determinado nome. Por exemplo, se um sistema contiver um tipo de letra chamado símbolo em raster e TrueType formulário, especificar OUT_TT_PRECIS força o mapeador de fonte para escolher a versão TrueType. (Especificação OUT_TT_PRECIS força o mapeador de fonte para escolher um tipo de letra TrueType sempre que o nome da fonte especificada corresponde a um dispositivo ou a fonte de varredura, mesmo quando não há nenhuma fonte TrueType de mesmo nome.)

nClipPrecision

Especifica a precisão recorte desejado. A precisão recorte define como clip caracteres que estão parcialmente fora da região de recorte. Pode ser qualquer um dos seguintes valores:

CLIP_CHARACTER_PRECIS CLIP_MASK
CLIP_DEFAULT_PRECIS CLIP_STROKE_PRECIS
CLIP_ENCAPSULATE CLIP_TT_ALWAYS
CLIP_LH_ANGLES

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

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

nQuality

Especifica a qualidade de saída da fonte, que define como cuidadosamente a GDI deve tentar coincidir com os atributos lógicos fonte dos de uma fonte física real. Ele pode ser uma dos seguinte valores:

nPitchAndFamily

Especifica a densidade e família da fonte. Os dois bits de ordem inferior especifica a densidade da fonte e podem ser qualquer um dos seguintes valores:

DEFAULT_PITCH VARIABLE_PITCH FIXED_PITCH

Aplicativos podem adicionar TMPF_TRUETYPE para o parâmetro nPitchAndFamily para escolher uma fonte TrueType. Os quatro bits de ordem alta do parâmetro especificar a família de fontes e podem ser qualquer um dos seguintes valores:

lpszFacename

Um CString ou um ponteiro para uma seqüência de caracteres null-terminated que especifica o nome face de tipos da fonte. O comprimento deste seqüência de caracteres não deve exceder 30 caracteres. O Windows EnumFontFamilies função pode ser usado para enumerar todas as fontes disponíveis atualmente. Se lpszFacename é NULL, o GDI usa um tipo de letra de dispositivo independente.

Observações

Inicializa um objeto CFont com as características especificadas. A fonte subseqüentemente pode ser selecionada como a fonte para qualquer contexto de dispositivo.

A função CreateFont não criar uma nova fonte de GDI do Windows. Ele simplesmente seleciona a correspondência mais próxima das fontes disponíveis no pool do GDI de fontes físicas.

Aplicativos podem usar as configurações padrão para a maioria destes parâmetros ao criar uma fonte lógico. Os parâmetros que devem sempre receber valores específicos são nHeight e lpszFacename. Se nHeight e lpszFacename não são definidas pelo aplicativo, a fonte lógico que é criada é dependente do dispositivo.

Quando você concluir com o objeto de CFont criado pela função CreateFont , primeiro selecionar a fonte fora do contexto do dispositivo e excluir o objeto CFont.

Visão geral de CFont |nbsp; Membros de classe | Gráfico de hierarquia

Consulte tambémnbsp;CFont::CreateFontIndirect, CFont:: CreatePointFont, :: CreateFont, :: EnumFontFamilies, :: EnumFonts

Index