Mfc 对话框更改颜色按钮



感谢您在解决我的问题时提供的帮助我尝试添加一个按钮,该按钮可以将对话框的背景更改为不同的颜色,但我使用Visual Studio 2010,但我认为这可能是错误的方法

    void PainterDlg::OnBnClickedButton7()
    {
    CBrush m_brush; 
    m_brush.CreateSolidBrush(RGB(255, 255, 255));
    return m_brush;
    }

或者它应该看起来像这样

    void PainterDlg::OnBnClickedButton7()
    {
    CBrush m_brush; 
    m_brush.CreateSolidBrush(RGB(255, 255, 255));
    return m_brush;
    }

两种方式都不适合我提前感谢

对于CButton来说,这并不容易。(你必须在OnDrawItem,OnCtlColor中绘制所有自己(

一种更简单的方法是使用CMFCButton。为您的按钮添加一个成员变量(使用 MFC-ClassWizzard(,并将其更改为 CMFCButton。这里有一个更改绿色颜色按钮的示例。

void CColorButtonSimpleDlg::OnBnClickedMyColorbtn()
{
  // add a Member Variable for your Button
  // Change it to CMFC Button
  // CMFCButton m_myBtn;     declared in Header-File  *.h 
  m_myBtn.EnableWindowsTheming(FALSE);      // (important!)
  m_myBtn.SetFaceColor(RGB(0, 255, 0));     // Change to your desired Background Color
  m_myBtn.SetTextColor(RGB(255, 255, 255)); // Change it to your desired Foreground Color

}

Nvm 找到了它

    int r,b,g; 
    r=rand()%255;
    b=rand()%255;
    g=rand()%255;
    CBrush myb;
    myb.CreateSolidBrush(RGB(r,b,g));
    dc2.FillRect(&rect,&myb);

最新更新