重载OnCtlColor 函数,........//这里省略了创建画刷代码
switch (nCtlColor )
{
case CTLCOLOR_STATIC://if static control
  SetBkMode( TRANSPARENT);//then....呵呵,设置背静模式:透明! 
   ........//我们还可以在这里改变其背景色及前景色
    break;//偶在网吧,随手写的,你参考msdn看看吧重点就是setbkmode()
........
}
........

解决方案 »

  1.   

    是啊!
    我也碰到这问题,海象没用啊!我解决是响应WM_ERASEBKGND消息,
    用一个NULLbrush来刷新!
      

  2.   

    补充:
    case CTLCOLOR_STATIC://if static control
      SetBkMode( TRANSPARENT);//then....呵呵,设置背静模式:透明! 
       ........//我们还可以在这里改变其背景色及前景色
      return((HBRUSH)::GetStockObject(HOLLOW_BRUSH));
      

  3.   

    HBRUSH CLABclientView::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
      
        HBRUSH hbr = CFormView::OnCtlColor(pDC, pWnd, nCtlColor);
    switch (nCtlColor )
    {
    case CTLCOLOR_STATIC:
      pDC->SetTextColor(RGB(255, 0, 0));
      pDC->SetBkMode( TRANSPARENT);   
      break;
    default:
      break;
    }
        hbr = (HBRUSH)::GetStockObject(HOLLOW_BRUSH);
        return hbr;
    }
    不行,没有错误信息 我把背景色设为了白色