ES_READONLYとWM_CTLCOLOREDIT
ES_READONLYのEDITダイアログを作成すると背景色が灰色になってしまうのですが、変える方法が有りました。
この背景はWM_CTLCOLORSTATICに返って来るらしく、
メッセージループ内で
HBRUSH bkb;
switch( message )
{
case WM_INITDIALOG:
bkb=CreateSolidBrush(色);
break;
case WM_CTLCOLORSTATIC:
SetBkColor((HDC)wParam,色);
return (LRESULT)bkb;
case WM_CLOSE:
DeleteObject(bkb);
break;
}
の様にしてやれば色が変更できます。
通常のEDITBOXの背景はWM_CTLCOLOREDIT内で変更します。
関連サイト:
WM_CTLCOLOREDIT Notification ()
WM_CTLCOLORSTATIC Notification ()
SetBkColor Function (Windows)
Comments