システムカラーを取得          <TOP>


GetSysColor システムの背景色を取得

 


 

'================================================================
'= システムカラーを取得
'=    (GetSysColor.bas)
'=    「システムカラーの変更」参照
'================================================================
#include "Windows.bi"

' システムの背景色を取得
Declare Function Api_GetSysColor& Lib "user32" Alias "GetSysColor" (ByVal nIndex&)

#define COLOR_ACTIVEBORDER 10           'アクティブウィンドウの境界の色
#define COLOR_ACTIVECAPTION 2           'アクティブウィンドウのタイトルバーの色
#define COLOR_APPWORKSPACE 12           'MDIアプリケーションの背景色
#define COLOR_BACKGROUND 1              '壁紙なしのデスクトップの色
#define COLOR_BTNFACE 15                '3Dオブジェクトの表面色
#define COLOR_BTNHIGHLIGHT 20           '3Dオブジェクトの最も明るい色
#define COLOR_BTNSHADOW 16              '3Dオブジェクトの影の色
#define COLOR_BTNTEXT 18                'プッシュボタンのテキストの色
#define COLOR_CAPTIONTEXT 9             'アクティブウィンドウのタイトルバーのテキストの色
#define COLOR_GRAYTEXT 17               '淡色状態(無効状態)のテキストの色
#define COLOR_HIGHLIGHT 13              'コントロール内における選択された項目の色
#define COLOR_HIGHLIGHTTEXT 14          'コントロール内における選択された項目のテキストの色
#define COLOR_INACTIVEBORDER 11         '非アクティブウィンドウの境界色
#define COLOR_INACTIVECAPTION 3         '非アクティブウィンドウのタイトルバーのテキストの色
#define COLOR_INACTIVECAPTIONTEXT 19    '非アクティブウィンドウのテキストの色
#define COLOR_MENU 4                    'メニューの背景色
#define COLOR_MENUTEXT 7                'メニュー内のテキストの色
#define COLOR_SCROLLBAR 0               'スクロールバーの軸の色
#define COLOR_WINDOW 5                  'ウィンドウの背景色
#define COLOR_WINDOWFRAME 6             'ウィンドウの枠の色
#define COLOR_WINDOWTEXT 8              'ウィンドウ内のテキストの色

Var SHared Combo1 As Object
Var Shared Button1 As Object

Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14
Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14

'================================================================
'=
'================================================================
Declare Sub MainForm_Start edecl ()
Sub MainForm_Start()
    Combo1.AddString "COLOR_SCROLLBAR"
    Combo1.AddString "COLOR_BACKGROUND"
    Combo1.AddString "COLOR_ACTIVECAPTION"
    Combo1.AddString "COLOR_INACTIVECAPTION"
    Combo1.AddString "COLOR_MENU"
    Combo1.AddString "COLOR_WINDOW"
    Combo1.AddString "COLOR_WINDOWFRAME"
    Combo1.AddString "COLOR_MENUTEXT"
    Combo1.AddString "COLOR_WINDOWTEXT"
    Combo1.AddString "COLOR_CAPTIONTEXT"
    Combo1.AddString "COLOR_ACTIVEBORDER"
    Combo1.AddString "COLOR_INACTIVEBORDER"
    Combo1.AddString "COLOR_APPWORKSPACE"
    Combo1.AddString "COLOR_HIGHLIGHT"
    Combo1.AddString "COLOR_HIGHLIGHTTEXT"
    Combo1.AddString "COLOR_BTNFACE"
    Combo1.AddString "COLOR_BTNSHADOW"
    Combo1.AddString "COLOR_GRAYTEXT"
    Combo1.AddString "COLOR_BTNTEXT"
    Combo1.AddString "COLOR_INACTIVECAPTIONTEXT"
    Combo1.AddString "COLOR_BTNHIGHLIGHT"
End Sub

'================================================================
'=
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var col As Integer
    Var Ret As Long

    col = Combo1.GetCursel

    Ret = Api_GetSysColor(col)

    SetBackColor Ret
    Cls
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End