使用內建字型繪製文字
系統提供六個股票字型。 股票字型是一種邏輯字型,應用程式可以藉由呼叫 GetStockObject 函式並指定要求的字型來取得。 下列清單包含您可以指定以取得股票字型的值。
值 | 意義 |
---|---|
ANSI_FIXED_FONT | 根據 Windows 字元集指定單空間字型。 通常使用 Courier 字型。 |
ANSI_VAR_FONT | 根據 Windows 字元集指定比例字型。 通常會使用 MS Sans Serif。 |
DEVICE_DEFAULT_FONT | 指定指定裝置的慣用字型。 這通常是顯示裝置的系統字型;不過,對於某些點矩陣印表機,這是位於裝置上的字型。 (使用此字型列印的速度通常比使用下載的點陣圖字型列印快) 。 |
OEM_FIXED_FONT | 根據 OEM 字元集指定單空間字型。 針對 IBM 電腦和相容,OEM 字型是以 IBM 電腦字元集為基礎。 |
SYSTEM_FONT | 指定系統字型。 這是以 Windows 字元集為基礎的比例字型,作業系統會使用這個字型來顯示對話方塊中的視窗標題、功能表名稱和文字。 系統字型一律可供使用。 只有在已安裝其他字型時,才能使用其他字型。 |
SYSTEM_FIXED_FONT | 指定與舊版 Windows 中系統字型相容的單空間字型。 |
如需字型的詳細資訊,請參閱 關於字型。
下列範例會擷取變數股票字型的控制碼、將它選取到裝置內容中,然後使用該字型寫入字串:
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);
}
如果無法使用其他股票字型, GetStockObject 會傳回系統字型的控制碼 (SYSTEM_FONT) 。 只有當應用程式的裝置內容的對應模式MM_TEXT時,才應該使用內建字型。