メインウィンドウの背景の色を変えてみます。
"MyApp.h" を作ります。 リソースファイルにアプリケーションの名前をかくのを忘れないようにします。
//
// MyApp.h
//
void setMyWnd(MyWndClass& wc, MyCreateStruct& cs){
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); // 背景ブラシ
}
赤い部分を変えると、背景の色が変わります。 実行画面です。
WNDCLASSEX構造体のメンバー、hbrBackground はメインウィンドウの背景の色のことです。 そして、背景は、ブラシで塗ると覚えます。 では、白にします。 色は、"winuser.h" に書いてあるマクロ定数を使います。
/* * Color Types */ #define COLOR_SCROLLBAR 0 #define COLOR_BACKGROUND 1 #define COLOR_ACTIVECAPTION 2 #define COLOR_INACTIVECAPTION 3 #define COLOR_MENU 4 #define COLOR_WINDOW 5 #define COLOR_WINDOWFRAME 6 #define COLOR_MENUTEXT 7 #define COLOR_WINDOWTEXT 8 #define COLOR_CAPTIONTEXT 9 #define COLOR_ACTIVEBORDER 10 #define COLOR_INACTIVEBORDER 11 #define COLOR_APPWORKSPACE 12 #define COLOR_HIGHLIGHT 13 #define COLOR_HIGHLIGHTTEXT 14 #define COLOR_BTNFACE 15 #define COLOR_BTNSHADOW 16 #define COLOR_GRAYTEXT 17 #define COLOR_BTNTEXT 18 #define COLOR_INACTIVECAPTIONTEXT 19 #define COLOR_BTNHIGHLIGHT 20
ただし、1を加える必要があります。 ですから、6という値を代入していることになります。
今回はメンバーに直接代入しましたが、BackColor というメソッドを使うこともできます。
wc.BackColor((HBRUSH)(COLOR_WINDOW+1)); // 背景ブラシ