Mfc对话框改变颜色按钮

Hai*_*nin 1 mfc dialog colors button

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

    void PainterDlg::OnBnClickedButton7()
    {
    CBrush m_brush; 
    m_brush.CreateSolidBrush(RGB(255, 255, 255));
    return m_brush;
    }
Run Code Online (Sandbox Code Playgroud)

或者它应该看起来像这样

    void PainterDlg::OnBnClickedButton7()
    {
    CBrush m_brush; 
    m_brush.CreateSolidBrush(RGB(255, 255, 255));
    return m_brush;
    }
Run Code Online (Sandbox Code Playgroud)

两种方法都不适合我,提前谢谢

Tom*_*Tom 5

这对 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
Run Code Online (Sandbox Code Playgroud)

}