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.