<Return[G]><Top>

GetSysColor

Declare Function Api_GetSysColor& Lib "user32" Alias "GetSysColor" (ByVal nIndex&)

Declare Function GetSysColor Lib "user32" Alias "GetSysColor" (ByVal nIndex As Long) As Long

画面のデザインに使われている、表示要素の色を取得する。表示要素とは、ウィンドウの一部、またはシステムが表示する画面の一部を意味する。

パラメータ
nIndex
    現在の色を取得するべき、画面の表示要素を指定する。次の値のいずれかを指定する。

    値                                                                           

意味                                                                                              

    COLOR_3DDKSHADOW

3D オブジェクトの暗い影の色。

    COLOR_3DFACE, COLOR_BTNFACE 3D

オブジェクトの表面色と、ダイアログボックスの背景色。

    COLOR_3DHILIGHT, COLOR_3DHIGHLIGHT,

 

    COLOR_BTNHILIGHT, COLOR_BTNHIGHLIGHT

3D オブジェクトの最も明るい色(光源に面した辺)。

    COLOR_3DLIGHT

3D オブジェクトの明るい色(光源に面した辺)。

    COLOR_3DSHADOW, COLOR_BTNSHADOW

3D オブジェクトの影の色(光源に面していない辺)。

    COLOR_ACTIVEBORDER

アクティブウィンドウの境界の色。

    COLOR_ACTIVECAPTION

アクティブウィンドウのタイトルバーの色。

 

Windows 98 と Windows 2000:グラデーション効果が有効になっている場合、

 

アクティブウィンドウのタイトルバーのグラデーションのうち、左端の色を指定する。

    COLOR_APPWORKSPACE

マルチドキュメントインターフェイス(MDI)アプリケーションの背景色。

    COLOR_BACKGROUND, COLOR_DESKTOP

デスクトップの色。

    COLOR_BTNTEXT

 プッシュボタンのテキストの色。

    COLOR_CAPTIONTEXT

タイトルバー、サイズボックス、スクロールバーの矢印ボックス内のテキスト

    COLOR_GRADIENTACTIVECAPTION

Windows 98, Windows 2000:アクティブウィンドウのタイトルバーのグラデーション

 

のうち、右端の色を指定する。これに対して、COLOR_ACTIVECAPTION は

 

左端の色を指定する。SPI_GETGRADIENTCAPTIONS を指定して

 

SystemParametersInfo 関数を呼び出すと、グラデーション効果が有効になって

 

いるかどうか判断できる。

    COLOR_GRADIENTINACTIVECAPTION

Windows 98 と Windows 2000:非アクティブウィンドウのタイトルバーのグラデー

 

ションのうち、右端の色を指定する。これに対して、

 

COLOR_INACTIVECAPTION は左端の色を指定する。

    COLOR_GRAYTEXT

淡色状態(無効状態)のテキストの色。現在のディスプレイドライバが純色(ベ

 

タ色)の淡色(灰色)をサポートしていない場合、この色は 0 に設定される。

    COLOR_HIGHLIGHT

コントロール内で選択されている項目の色。

    COLOR_HIGHLIGHTTEXT

コントロール内で選択されている項目のテキストの色。

    COLOR_HOTLIGHT

Windows 98, Windows 2000:ホットトラッキング項目の色。ホットトラッキング項

 

目を 1 回クリックすると、その項目が実行される。

    COLOR_INACTIVEBORDER

非アクティブウィンドウの境界の色。

    COLOR_INACTIVECAPTION

非アクティブウィンドウのタイトルバーのテキストの色。

 

Windows 98, Windows 2000:グラデーション効果が有効になっている場合、非

 

アクティブウィンドウのタイトルバーのグラデーションのうち、左端の色を指定する。

    COLOR_INACTIVECAPTIONTEXT

非アクティブウィンドウのタイトルバーのテキストの色。

    COLOR_INFOBK

ツールチップコントロールの背景色。

    COLOR_INFOTEXT

ツールチップコントロールのテキストの色。

    COLOR_MENU

メニューの背景色。

    COLOR_MENUTEXT

メニュー内のテキストの色。

    COLOR_SCROLLBAR

スクロールバーの軸の色。

    COLOR_WINDOW

ウィンドウの背景色。

    COLOR_WINDOWFRAME

ウィンドウの枠の色。

    COLOR_WINDOWTEXT

ウィンドウ内のテキストの色。


戻り値
    関数が成功すると、指定した要素の色を示す RGB(赤、緑、青)値が返る。
    nIndex パラメータで、有効な範囲以外の値を指定すると、0 が返る。0 は有効な RGB 値を示すこともあるので、現在のプラットフォームが

    特定のシステムカラーをサポートしているかどうか判断する目的で、GetSysColor 関数を使うことはできない。

    代わりに、GetSysColorBrush 関数を使う。この関数は、特定のカラーがサポートされていない場合、NULL を返す。

解説
    モノクローム画面のシステムカラーは通常、グレースケールと解釈される。