OnCtrlColor...答案太多,一时记不起来

解决方案 »

  1.   

    确实如楼上几位所言,给出具体代码比较容易加分!呵呵
    使用ClassWizard重载CStatic为CMyStaitc
    在ClassWizard中处理反射消息=WM_CTRLCOLOR
    在生成函数中加入如下代码:
    HBRUSH CMyStatic::CtlColor(CDC* pDC, UINT nCtlColor) 
    {
    CRect rc;
    GetClientRect( &rc ); //背景画刷
    CBrush Brush( RGB(0,255,0) );
    HBRUSH br = (HBRUSH)Brush.GetSafeHandle();
    pDC->FillRect( &rc, &Brush ); //文字颜色
    pDC->SetTextColor( RGB(0,0,255) );
    pDC->SetBkMode( TRANSPARENT );

    Brush.Detach();
    return br;
    }
      

  2.   

    谢谢个位
    我想再问一下,CStatic可以写在ctlcolor中,如果是CWnd那么该写在哪里呢? 谢谢
      

  3.   

    为什么不用CEdit 呢。设border 属性为false不就和CStatic一样。但是白色
      

  4.   

    哦,没加分,又问一个,处理WM_ERASEBKGND消息画背景,CView派生类也一样,加分吧