PWJ1589 - 94/12 |
この資料は以下の製品について記述したものです。
この資料はダイアログボックス上のコントロール(エディットコントロール、リストボックス等)の色を変更する、一つの方法を紹介したものです。
ダイアログボックス上のコントロールのテキストの色を変更するには、ダイアログボックスのメッセージ処理関数に WM_CTLCOLOR のメッセージが来たときに、SetTextColor で変えることができます。
また、背景色の変更は、WM_CTLCOLOR のメッセージが来たときに戻り値として背景色指定するブラシのハンドルを返すことによって実現できます。
以下にエディットコントロールの色を変更するサンプルプログラムの一部を載せます。
このサンプルでは、エディットコントロールの背景色を水色に、文字の色を赤に変更しています。
これは、ダイアログボックスのメッセージ処理関数内のコードです。
static HBRUSH hBrush;
// 前もってコントロールの背景色のブラシを作成しておきます
case WM_INITDIALOG:
return(TRUE);
// このメッセージは、コントロールを描画する直前に、
// 予め定義されていたコントロールの親ウィンドウに対して送られます。
if (HIWORD(lParam) == CTLCOLOR_EDIT) { // エディットコントロールのタイプ
// SetBkMode を指定しないと文字の背景が透過しない
SetBkMode(wParam, TRANSPARENT);
// バックグランドのブラシのハンドルを返します
return hBrush;
return NULL;
DeleteObject (hBrush);
break;
マイクロソフト株式会社 テクニカル サポート
UP |
HOMEPAGE |