Usando uma fonte de estoque para desenhar texto
O sistema fornece seis fontes de estoque. Uma fonte de estoque é uma fonte lógica que um aplicativo pode obter chamando a função GetStockObject e especificando a fonte solicitada. A lista a seguir contém os valores que você pode especificar para obter uma fonte de estoque.
Valor | Significado |
---|---|
ANSI_FIXED_FONT | Especifica uma fonte de monospace com base no conjunto de caracteres do Windows. Uma fonte Courier normalmente é usada. |
ANSI_VAR_FONT | Especifica uma fonte proporcional com base no conjunto de caracteres do Windows. O MS Sans Serif normalmente é usado. |
DEVICE_DEFAULT_FONT | Especifica a fonte preferencial para o dispositivo especificado. Normalmente, essa é a fonte do sistema para dispositivos de exibição; no entanto, para algumas impressoras de matriz de pontos, essa é uma fonte residente no dispositivo. (Imprimir com essa fonte geralmente é mais rápido do que imprimir com uma fonte de bitmap baixada). |
OEM_FIXED_FONT | Especifica uma fonte de monospace com base em um conjunto de caracteres OEM. Para computadores IBM e compatíveis, a fonte OEM é baseada no conjunto de caracteres do IBM PC. |
SYSTEM_FONT | Especifica a fonte Sistema. Essa é uma fonte proporcional com base no conjunto de caracteres do Windows e é usada pelo sistema operacional para exibir títulos de janela, nomes de menu e texto em caixas de diálogo. A fonte Sistema está sempre disponível. Outras fontes só estarão disponíveis se tiverem sido instaladas. |
SYSTEM_FIXED_FONT | Especifica uma fonte de monospace compatível com a fonte System nas primeiras versões do Windows. |
Para obter mais informações sobre fontes, consulte Sobre fontes.
O exemplo a seguir recupera um identificador para a fonte de estoque variável, seleciona-o em um contexto de dispositivo e grava uma cadeia de caracteres usando essa fonte:
HFONT hFont, hOldFont;
// Retrieve a handle to the variable stock font.
hFont = (HFONT)GetStockObject(ANSI_VAR_FONT);
// Select the variable stock font into the specified device context.
if (hOldFont = (HFONT)SelectObject(hdc, hFont))
{
// Display the text string.
TextOut(hdc, 10, 50, L"Sample ANSI_VAR_FONT text", 25);
// Restore the original font.
SelectObject(hdc, hOldFont);
}
Se outras fontes de estoque não estiverem disponíveis, GetStockObject retornará um identificador para a fonte Sistema (SYSTEM_FONT). Você deverá usar fontes de estoque somente se o modo de mapeamento para o contexto do dispositivo do aplicativo for MM_TEXT.