sinhighly(不想做程序员),能说清楚点吗? 我的代码如下(出现问题的): HBRUSH CMyEditView::CtlColor(CDC* pDC, UINT nCtlColor) { // 改变文本的颜色 pDC->SetBkMode(TRANSPARENT); pDC->SetTextColor(RGB(100, 0, 200)); pDC->SetBkColor(m_clrBack); // TODO: Return a non-NULL brush if the parent's handler should not be called return (HBRUSH)m_brush.GetSafeHandle(); }
{ //设置edit的背景色为淡黄
SetTextColor (pDC->GetSafeHdc(),RGB(0,0,255)); //字体颜色为蓝色
pDC->SetBkColor(RGB(255,250,208));
return hbredtmsgcontext;
???
//其中hbredtmsgcontext在构造时创建
我的代码如下(出现问题的):
HBRUSH CMyEditView::CtlColor(CDC* pDC, UINT nCtlColor)
{
// 改变文本的颜色
pDC->SetBkMode(TRANSPARENT);
pDC->SetTextColor(RGB(100, 0, 200));
pDC->SetBkColor(m_clrBack);
// TODO: Return a non-NULL brush if the parent's handler should not be called
return (HBRUSH)m_brush.GetSafeHandle();
}
{
pDC->SetBkMode(TRANSPARENT); //去掉这一句就好了。
pDC->SetTextColor(RGB(100, 0, 200));
pDC->SetBkColor(m_clrBack);
return (HBRUSH)m_brush.GetSafeHandle();
}把SetBkMode去掉,SetBkColor的颜色设成与背景相同也可以实现相同的效果。