edit控件,在设置了只读属性后,发现用普通的
OnCtlColor()方法,识别nCtlColor== CTLCOLOR_EDIT不能改变颜色了,
而用,nCtlColor== CTLCOLOR_STATIC确可以改变颜色。
原来MFC,把只读的EDIT当做STATIC来处理了。
HBRUSH CTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
switch(nCtlColor)
{
case CTLCOLOR_EDIT: //不可以改变颜色
if(pWnd->GetDlgCtrlID() == IDC_TEST_EDIT )
{
HBRUSH hbrEdit = ::CreateSolidBrush( RGB(255, 255, 255) );
pDC->SetBkColor( RGB(0, 255, 255) );
return hbrEdit;
}
case CTLCOLOR_STATIC: //可以
if(pWnd->GetDlgCtrlID() == IDC_TEST_EDIT )
{
HBRUSH hbrEdit = ::CreateSolidBrush( RGB(255, 255, 255) );
pDC->SetBkColor( RGB(0, 255, 255) );
return hbrEdit;
}
}