我改变对话框中的CEdit的背景颜色是这么做的,可是有个问题:
m_bluecolor=RGB(0,0,250); // blue
m_bluebrush.CreateSolidBrush(m_bluecolor); // blue background
OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if((nCtlColor == CTLCOLOR_EDIT) && (pWnd->GetDlgCtrlID()==IDC_EDITINPUT))
{
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(0,0,255)); //改变字体的颜色
hbr=(HBRUSH) m_bluebrush;
}
return hbr;
}
上述代码在我的机器上工作正常,并且该edit控件变成蓝色背景。
可是当我把我的程序在同事机器上工作的时候。
该edit控件,只有一小部分显示蓝色,大部分显示白色,这是怎么回事情?