所有的控件都是 STATIC 控件?

解决方案 »

  1.   

    CTLCOLOR_BTN                按钮控件
    CTLCOLOR_DLG                对话框
    CTLCOLOR_EDIT               编辑框
    CTLCOLOR_LISTBOX            列表控件
    CTLCOLOR_MSGBOX             消息控件
    CTLCOLOR_SCROLLBAR          滚动条控件
    CTLCOLOR_STATIC             静态控件你是不是拦截的消息不对,不是控件的ID,是控件的类型
      

  2.   


    if(nCtlColor==CTLCOLOR_STATIC)          //更改按钮颜色
     {
    pDC->SetTextColor(RGB(0,0,0));
    pDC->SetBkColor(RGB(121,121,255));   
    HBRUSH b=CreateSolidBrush(RGB(121,121,255));
    return b;
    }
      

  3.   


    if (pWnd->GetDlgCtrlID() == IDC_STATIC)           
        {  
            pDC->SetBkMode(TRANSPARENT);
            return (HBRUSH)::GetStockObject(NULL_BRUSH);  
        }
    这样可以背景透明
      

  4.   

    我貌似发现问题所在了,可能正如上面各位说的,是类型判断的有问题,这次我是在OnCtlColor里直接声明了一个白色的画刷,
    然后直接在判断的外面将背景设置成透明的,然后在判断,然后直接将白色的画刷返回,就可以了!