您的位置:首页 > 编程语言 > C语言/C++

关于设置对话框的背景颜色,和设置控件的字体颜色或背景颜色VC++

2011-10-08 14:54 555 查看
首先要为对话框添加消息映射,主要是:

  BEGIN_MESSAGE_MAP(CXXXDlg, CDialog)

  ON_WM_ERASEBKGND()//背景色

  ON_WM_CTLCOLOR()//设置文本等控件相关颜色

  END_MESSAGE_MAP()

  然后在相关代码区域添加代码:

  //背景色

  BOOL CXXXDlg::OnEraseBkgnd(CDC* pDC)

  {

  // TODO: 在此添加消息处理程序代码和/或调用默认值

  //背景色

  BOOL retValue= CDialog::OnEraseBkgnd(pDC);

  CRect rc;

  GetClientRect(&rc);

  pDC->FillSolidRect(&rc,RGB(230,240,250));

  return retValue;

  }

  // 除按纽之外的其他控件,字体颜色、字体背景颜色、控件背景颜色等。

  HBRUSH CXXXDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

  {

  HBRUSH hbr = CBkDialog::OnCtlColor(pDC, pWnd, nCtlColor);

  // TODO: 在此更改DC 的任何属性

  //对除了按钮外的其他控件有效

  if(pWnd->GetDlgCtrlID() == IDC_STATIC_TEXT )//关联控件ID

  {

  //设置字体颜色

  pDC->SetTextColor(RGB(200,100,80));

  //设置文本背景颜色

  pDC->SetBkColor(RGB(230,240,250));

  //设置控件背景颜色

  hbr = ::CreateSolidBrush(RGB(230,240,250));

  return hbr;

  }

  // TODO: 如果默认的不是所需画笔,则返回另一个画笔

  return hbr;

  }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐