请问在VC 中如何使按钮控件改变颜色?谢谢!

解决方案 »

  1.   

    OnCtlColor中用nCtlColor来判断发送WM_CTLCOLOR的 空界类型。
    HBRUSH CMyERPDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr=(HBRUSH)m_bkBrush;
    if(nCtlColor==CTLCOLOR_BUTTON)

                    //pDC->SetBkMode(TRANSPARENT);
    return NULL;
    }
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
    return hbr;
    }
      

  2.   

    m_hBlueBrush = CreateSolidBrush(RGB(0,0,255));HBRUSH CDlgDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
    {
    HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

    if (pWnd->GetDlgCtrlID() == IDC_BUTTON1)
    {
    //pDC->SetTextColor(RGB(0,0,255));
    //pDC->SetBkColor(RGB(255,0,255)); return m_hBlueBrush;
    }
    else if (pWnd->GetDlgCtrlID() == IDC_EDIT1)
    {
    return m_hBlueBrush;
    }
    else if (pWnd->GetDlgCtrlID() == IDC_RADIO1)
    {
    return m_hBlueBrush;
    }

    return hbr;
    }
      

  3.   

    http://www.csdn.net/Develop/read_article.asp?id=9603
      

  4.   

    兄弟,你必须将按钮设为OWNER DRAW.
      

  5.   

    我将按钮设为OWNER DRAW,按钮有颜色了,可不能显示汉字,为什么?该如何做?