我用如下方法设置CEDIT的背景色和文字色,可是在CEDIT中编辑时发现删除的字和重新输入的字都重叠在一起了。
必需用鼠标在CEDIT中点击一下才更新。我不知道如何解决,求高手指点一下、多谢!
BOOL CSetting::OnInitDialog()
{
CDialog::OnInitDialog();
m_hBrush = CreateSolidBrush( RGB(0,96,144) ); //设置刷子颜色
return TRUE;
}HBRUSH CSetting::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if ( nCtlColor == CTLCOLOR_EDIT )
{
pDC->SetBkMode( TRANSPARENT );
pDC->SetTextColor(RGB(255,255,255) );
return m_hBrush;
}
return hbr;
}
必需用鼠标在CEDIT中点击一下才更新。我不知道如何解决,求高手指点一下、多谢!
BOOL CSetting::OnInitDialog()
{
CDialog::OnInitDialog();
m_hBrush = CreateSolidBrush( RGB(0,96,144) ); //设置刷子颜色
return TRUE;
}HBRUSH CSetting::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
if ( nCtlColor == CTLCOLOR_EDIT )
{
pDC->SetBkMode( TRANSPARENT );
pDC->SetTextColor(RGB(255,255,255) );
return m_hBrush;
}
return hbr;
}
pDC->SetBkMode( TRANSPARENT );
改为
pDC->SetBkColor( RGB(0,96,144));
或者每次修改内容就手动刷新一下
我不是已设置了pDC->SetTextColor(RGB(255,255,255));了吗?