我想改变某个CEdit的背景颜色 下面的txtSend就是那个CEdit
所以重写窗体的OnCtlColorHBRUSH 某窗体::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(pWnd->GetSafeHwnd() == txtSend.GetSafeHwnd()){
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(RGB(0,0,0));
RECT r;
pWnd->GetClientRect(&r);
CBrush b(RGB(0,0,0));
pDC->FillRect(&r, &b);
} return hbr;
}结果是...这个文本框的字符背景还是白色的 但是在字符高度到文本框高度之间的这块区域是黑色的...要如何做才能让整个背景变成黑色的呢
所以重写窗体的OnCtlColorHBRUSH 某窗体::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor){
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor); if(pWnd->GetSafeHwnd() == txtSend.GetSafeHwnd()){
pDC->SetTextColor(RGB(255,0,0));
pDC->SetBkMode(TRANSPARENT);
pDC->SetBkColor(RGB(0,0,0));
RECT r;
pWnd->GetClientRect(&r);
CBrush b(RGB(0,0,0));
pDC->FillRect(&r, &b);
} return hbr;
}结果是...这个文本框的字符背景还是白色的 但是在字符高度到文本框高度之间的这块区域是黑色的...要如何做才能让整个背景变成黑色的呢
{
CBrush m_brush;
COLORREF m_color;
m_color=RGB(255,0,0);
m_brush.CreateSolidBrush(m_color);
pDC->SetBkColor(m_color);
reture (HBRUSH) m_brush.GetSafeHandle();
}
else
{
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
reture hbr;
}
//---------