指定されたシステムカラー(各々のディスプレイ要素で現在使用されている色)を取得します。
DWORD GetSysColor( int nIndex // システムカラーのインデックス );
USER32.DLL
色を取得するディスプレイ要素を指定します。以下のいずれかの値を指定します。
定数名 | 値 | 意味 |
---|---|---|
COLOR_SCROLLBAR | 0 | スクロールバーの軸の色 |
COLOR_BACKGROUND, COLOR_DESKTOP |
1 | デスクトップの色 |
COLOR_ACTIVECAPTION | 2 | アクティブウィンドウのタイトルバーの色
Windows 98/2000 以上: グラデーション有効の場合はアクティブウィンドウのタイトルバーの左側の色 |
COLOR_INACTIVECAPTION | 3 | 非アクティブウィンドウのタイトルバーのテキストの色
Windows 98/2000 以上: グラデーション有効の場合は非アクティブウィンドウのタイトルバーの左側の色 |
COLOR_MENU | 4 | メニューの背景色 |
COLOR_WINDOW | 5 | ウィンドウの背景色 |
COLOR_WINDOWFRAME | 6 | ウィンドウの枠の色 |
COLOR_MENUTEXT | 7 | メニュー内のテキストの色 |
COLOR_WINDOWTEXT | 8 | ウィンドウ内のテキストの色 |
COLOR_CAPTIONTEXT | 9 | アクティブウィンドウのタイトルバーのテキストの色 |
COLOR_ACTIVEBORDER | 10 | アクティブウィンドウの境界の色 |
COLOR_INACTIVEBORDER | 11 | 非アクティブウィンドウの境界色 |
COLOR_APPWORKSPACE | 12 | MDI (マルチドキュメントインターフェイス)アプリケーションの背景色 |
COLOR_HIGHLIGHT | 13 | コントロール内における選択された項目の色 |
COLOR_HIGHLIGHTTEXT | 14 | コントロール内における選択された項目のテキストの色 |
COLOR_BTNFACE, COLOR_3DFACE |
15 | 3D オブジェクトの表面色 |
COLOR_BTNSHADOW, COLOR_3DSHADOW |
16 | 3D オブジェクトの影の色 (光源の反対方向の縁用) |
COLOR_GRAYTEXT | 17 | 淡色状態 (無効状態) のテキストの色 |
COLOR_BTNTEXT | 18 | プッシュボタンのテキストの色 |
COLOR_INACTIVECAPTIONTEXT | 19 | 非アクティブウィンドウのタイトルバーのテキストの色 |
COLOR_BTNHIGHLIGHT, COLOR_3DHIGHLIGHT, COLOR_3DHILIGHT, COLOR_BTNHILIGHT |
20 | 3D オブジェクトの最も明るい色 (光源方向の縁用) |
COLOR_3DDKSHADOW | 21 | 3D オブジェクトの暗い影の色 |
COLOR_3DLIGHT | 22 | 3D オブジェクトの明るい色 (光源方向の縁用) |
COLOR_INFOTEXT | 23 | ツールチップコントロールのテキストの色 |
COLOR_INFOBK | 24 | ツールチップコントロールの背景色 |
COLOR_HOTLIGHT | 26 | Windows 98/2000 以上: ホットトラックアイテムの色 |
COLOR_GRADIENTACTIVECAPTION | 27 | Windows 98/2000 以上: グラデーション有効の場合はアクティブウィンドウのタイトルバーの右側の色 |
COLOR_GRADIENTINACTIVECAPTION | 28 | Windows 98/2000 以上: グラデーション有効の場合は非アクティブウィンドウのタイトルバーの右側の色 |
COLOR_MENUHILIGHT | 29 | Windows XP 以上: メニューがフラットメニューとして表示されるときにメニューアイテムをハイライト表示するのに使用される色
ハイライト表示されたメニューアイテムは COLOR_HIGHLIGHT で指定される色で輪郭が描かれます。 |
COLOR_MENUBAR | 30 | Windows XP 以上: メニューがフラットメニューとして表示されるときのメニューバーの背景色
ただし、ポップアップメニューの背景色の指定には COLOR_MENU が使用されます。 |
関数が成功すると、指定された要素の色を示す RGB 値が返ります。
nIndex パラメータに現在のプラットホームがサポートしない値を指定すると 0 が返ります。ただし、 0 は有効な RGB 値であるため、指定された値が現在のプラットホームでサポートされているかどうかを判断するのに GetSysColor 関数を使用することはできません。代わりに、 GetSysColorBrush 関数が 0 (NULL) を返すかどうかで判断します。
システムカラーのブラシを使用して描画する場合には、 CreateSolidBrush 関数でブラシを作成するのはでなく、 GetSysColorBrush 関数を使って取得したブラシを使用するべきです。 GetSysColorBrush 関数はキャッシュされているブラシを返します。
Windows 95 以降 / Windows NT 3.1 以降