GetStockObject

https://msdn.microsoft.com/ja-jp/library/cc428944.aspx https://msdn.microsoft.com/ja-jp/library/ms533230.aspx

定義済み(ストック)のペン、ブラシ、フォント、パレットのいずれかのハンドルを取得します。

HGDIOBJ GetStockObject(
  int fnObject   // ストックオブジェクトのタイプ
);

パラメータ

fnObject
ストックオブジェクトのタイプを指定します。次に示す値のいずれかを指定します。
意味
BLACK_BRUSH黒のブラシ。
DKGRAY_BRUSH濃い灰色のブラシ。
DC_BRUSHWindows 98 と Windows 2000:純色のブラシ。既定の色は白です。SetDCBrushColor 関数を使うと、この色を変更できます。詳細については、この関数の「解説」を参照してください。
GRAY_BRUSH灰色のブラシ。
HOLLOW_BRUSH中空のブラシ(NULL_BRUSH と同じことを意味します)。
LTGRAY_BRUSH明るい灰色のブラシ。
NULL_BRUSH空のブラシ(HOLLOW_BRUSH と同じことを意味します)。
WHITE_BRUSH白のブラシ。
BLACK_PEN黒のペン。
DC_PENWindows 98 と Windows 2000:純色のペン。既定の色は白です。SetDCPenColor 関数を使うと、この色を変更できます。詳細については、この関数の「解説」を参照してください。
WHITE_PEN白のペン。
ANSI_FIXED_FONTWindows の固定幅(モノスペース)システムフォント。
ANSI_VAR_FONTWindows の可変幅(プロポーショナル)システムフォント。
DEVICE_DEFAULT_FONTWindows NT/2000:デバイス依存のフォント
DEFAULT_GUI_FONTメニューやダイアログボックスのようなユーザーインターフェイスの既定のフォント。欧文では MS Sans Serif です。日本語では MS P 明朝(Windows NT 3.x では MS 明朝)です。SYSTEM_FONT と比較してください。
OEM_FIXED_FONTOEM 文字の固定幅(モノスペース)フォント。
SYSTEM_FONTシステムフォント。既定では、システムはメニュー、ダイアログボックスのコントロール、テキストを描画する際にシステムフォントを使います。

Windows 95/98 と Windows NT:欧文では、システムフォントは MS Sans Serif です。日本語では MS P 明朝(Windows NT 3.x では MS 明朝)です。

Windows 2000:欧文では、システムフォントは Tahoma です。日本語では MS P 明朝です。

SYSTEM_FIXED_FONT固定幅(モノスペース)システムフォント。このストックオブジェクトは、Windows 3.0 より前のバージョンとの互換性を確保する目的でのみ提供されています。
DEFAULT_PALETTE既定のカラーパレット。このパレットは、システムパレット内の静的な色によって構成されます。静的な色とは、アプリケーションが論理パレットを実体化しても変更できない色(固定色)のことです。

戻り値

関数が成功すると、要求した論理オブジェクトのハンドルが返ります。

関数が失敗すると、NULL が返ります。

Windows NT/2000:拡張エラー情報を取得するには、 関数を使います。

解説

DKGRAY_BRUSH、GRAY_BRUSH、LTGRAY_BRUSH の各ストックオブジェクトは、CS_HREDRAW スタイルと CS_VREDRAW スタイルを指定しているウィンドウでのみ使ってください。他のスタイルを指定しているウィンドウで灰色のストックブラシを使うと、ウィンドウの移動やサイズ変更を行った後で、ブラシのパターンがずれることがあります。これらのストックブラシの原点は調整できません。

HOLLOW_BRUSH と NULL_BRUSH の各ストックオブジェクトは、同じことを意味します。

DEFAULT_GUI_FONT のストックオブジェクトで使われているフォントは、他のフォントへ変更することもできます。メニュー、ダイアログボックス、他のユーザーインターフェイスオブジェクトの表示に特定のフォントを使いたい場合は、このストックオブジェクトを利用して指定を行ってください。

DeleteObject 関数を呼び出してストックオブジェクトを削除する必要はありません(削除しても問題はありません)。

Windows 98 と Windows 2000:DC_BRUSH と DC_PEN のどちらが指す色も、他の適切な関数を呼び出すと、BLACK_BRUSH や BLACK_PEN など他のストックオブジェクトへ置き換えることができます。現在のペンまたはブラシの色を取得する方法については、GetDCBrushColorGetDCPenColor の各関数を参照してください。色を設定する例については、MSDN ライブラリの「」を参照してください。GetStockObject 関数で DC_BRUSH または DC_PEN を指定すると、SetDCPenColorSetDCBrushColor の各関数で設定した色を取得できます。

対応情報

Windows NT/2000:Windows NT 3.1 以降
Windows 95/98:Windows 95 以降
ヘッダー:Wingdi.h 内で宣言、Windows.h をインクルード
インポートライブラリ:Gdi32.lib を使用

参照

DeleteObject, SelectObject

表示: