ストック フォントを使用してテキストを描画する
システムは、6 つのストック フォントを提供します。 ストック フォントは、 GetStockObject 関数を呼び出し、要求されたフォントを指定することで、アプリケーションが取得できる論理フォントです。 次の一覧には、ストック フォントを取得するために指定できる値が含まれています。
値 | 説明 |
---|---|
ANSI_FIXED_FONT | Windows 文字セットに基づいてモノスペース フォントを指定します。 通常、Courier フォントが使用されます。 |
ANSI_VAR_FONT | Windows 文字セットに基づいてプロポーショナル フォントを指定します。 MS Sans Serif は通常使用されます。 |
DEVICE_DEFAULT_FONT | 指定したデバイスの優先フォントを指定します。 これは通常、ディスプレイ デバイスのシステム フォントです。ただし、一部のドット マトリックス プリンターでは、これはデバイスに存在するフォントです。 (このフォントでの印刷は、通常、ダウンロードしたビットマップ フォントで印刷するよりも高速です)。 |
OEM_FIXED_FONT | OEM 文字セットに基づいてモノスペース フォントを指定します。 IBM コンピューターと互換性がある場合、OEM フォントは IBM PC 文字セットに基づいています。 |
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場合にのみ使用する必要があります。