PR
Keyword Search
Calendar
New!
ホームズ探偵さんComments
Freepage List
メインウィンドウの背景色を変える方法。
1.最初に1回だけ指定する。RegisterClassEx()登録時に背景色を指定する。
2.プログラム実行中に変える
(その1)WM_ERASEBKGNDで処理する。
・・・
case WM_ERASEBKGND:
{
HDC hdc = (HDC)wParam;
RECT rt;
GetClientRect( hWnd, &rt );
hBbk = CreateSolidBrush(RGB(255,255,255));//背景白の場合
Oldbk = (HBRUSH)SelectObject(hdc, hBbk);//背景を変える
Rectangle(hdc, rt.left, rt.top, rt.right,rt.bottom);
SelectObject(hdc, Oldbk);//元に戻す。。無くてもよい
DeleteObject(hBbk);
}
return TRUE; //背景を処理した場合はTRUEを返す
・・・
(その2)WM_ERASEBKGNDをスルーしてWM_PAINTで全て処理する。
・・・
case WM_ERASEBKGND:
return TRUE;//処理したことにする。
case WM_PAINT:
hdc = BeginPaint (hWnd, &ps);
RECT rt;
GetClientRect( hWnd, &rt );
hBbk = CreateSolidBrush(RGB(255,0,0));//背景赤
Oldbk = (HBRUSH)SelectObject(hdc, hBbk);//背景を変える
Rectangle(hdc, rt.left, rt.top, rt.right,rt.bottom);
SelectObject(hdc, Oldbk);//元に戻す。。無くてもよい
DeleteObject(hBbk);
EndPaint( hWnd, &ps );
break;
・・・・・
Windows7 製品版 2009.08.29
VISATA localhostつながるじゃん 2009.07.18
VISTAでTelnet 2009.06.26 コメント(2)