HBRUSH CMyEdit::CtlColor(CDC* pDC, UINT /*nCtlColor*/)
{
// TODO: 在此更改 DC 的任何特性
pDC->SetTextColor(RGB(255,0,0));
if(m_bfocus)
{
pDC->SetBkColor(RGB(0,255,0));
}
else
{
pDC->SetBkColor(RGB(255,255,255));
}
//pDC->SetBkMode(TRANSPARENT);
return m_hBrush;
// TODO: 如果不应调用父级的处理程序,则返回非 null 画笔
return NULL;
{
// TODO: 在此更改 DC 的任何特性
pDC->SetTextColor(RGB(255,0,0));
if(m_bfocus)
{
pDC->SetBkColor(RGB(0,255,0));
}
else
{
pDC->SetBkColor(RGB(255,255,255));
}
//pDC->SetBkMode(TRANSPARENT);
return m_hBrush;
// TODO: 如果不应调用父级的处理程序,则返回非 null 画笔
return NULL;
}
两个问题:
第一,pDC->SetTextColor(RGB(255,0,0));设置字体颜色要生效,必须放回非NULL句柄
第二,pDC->SetBkColor(RGB(255,255,255)); 设置的是字体背景,与字体同高,m_hBrush设置的是编辑框整个窗体背景,通常比字体背景大。