メインウィンドウ

メインウィンドウの背景の色を変えてみます。

背景の色を変える (win119)

"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));	// 背景ブラシ

[前] [目次] [次]