如题,谢谢回答

解决方案 »

  1.   

    用API函数COLORREF SetBkColor(
      HDC hdc,           // handle to DC
      COLORREF crColor   // background color value
    );
      

  2.   

    我从网上查,说,goupbox没有dc的
      

  3.   

    是Windwos 的控件 都有DC ,没有DC是没法画出来的。用API 函数 
    HDC GetDC(
      HWND hWnd   // handle to window
    );
    得到DC
      

  4.   

    你需要从groupbox类派生出新类,重载方法,用DC填充颜色就可以
      

  5.   

    请问下,怎么修改,goupbox的背景色?我相应了OnCtlColor消息,代码如下,可是就是没有任何效果,goupbox的背景色也没有修改?谢谢回答HBRUSH CPropPage4::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
        HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    CRect rect;
    CWnd* pWndStatic=GetDlgItem(IDC_STATIC_CALL);
        if(pWnd->GetDlgCtrlID()==IDC_STATIC_CALL && nCtlColor== CTLCOLOR_STATIC)
        {
    COLORREF backColor = RGB(255, 255, 182);
    pWndStatic->GetClientRect(&rect);
    pDC->FillSolidRect(&rect,backColor);
    pDC->SetBkColor(backColor);
     pDC->SetBkMode(TRANSPARENT);//设置控件背景透明
    return CreateSolidBrush(backColor);//创建背景刷子
        }
        else
        {
            return hbr;
        } 

    }
      

  6.   

    if(pWnd->GetDlgCtrlID()==IDC_STATIC_CALL && nCtlColor== CTLCOLOR_STATIC)
      

  7.   

    groupbox是WS_GROUP风格的button  不是static
      

  8.   

    那个名字是我的vc默认的,ID号应该无所谓吧
      

  9.   

    如果你使用了visual style,在OnCtlColor代码里修改是没用的,这种情况下你只能自绘了
      

  10.   

    楼上的,请问下,你说的visual style是什么意思?我怎么知道我用了这个?谢谢回答