zoukankan      html  css  js  c++  java
  • VS2008给对话框添加背景颜色

    第一种方法如下:

    在对话框OnPaint()函数中添加代码

    1         //改变对话框背景颜色
    2         CRect rect;
    3         CPaintDC dc(this);
    4         GetClientRect(rect);
    5         dc.FillSolidRect(rect,RGB(244,247,252));
    6         dc.FillPath();

    在RGB中选择自己喜欢的颜色,编译运行

    第二种方法如下:

    给对话框添加消息处理程序OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)

    HBRUSH CMyTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
    {
    HBRUSH hbr = __super::OnCtlColor(pDC, pWnd, nCtlColor);

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


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

    该消息相应函数中,首先调用对话框基类,:CDialog的OnStlColor函数,返回一个画刷句柄(hbr),然后该函数直接返回这个画刷句柄。

    之后,系统就会使用这个画刷句柄绘制对话框及其子空间的背景,如果想要改变对话框的背景色,只需要自定义一个画刷,然后让OnCtlColor函数

    返回这个画刷句柄即可。

    首先为该类定义一个CBrush类型的私有成员变量:m_brush,并在其构造函数中利用CreateSolidBrush函数将该画刷初始化为一个颜色的画刷

    m_brush.CreateSolidBrush(RGB(244,247,252));  //新建画刷并指定颜色

    然后在OnCtlColor响应函数返回上述自定义画刷:m_brush

     1 HBRUSH CMyTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
     2 {
     3 HBRUSH hbr = __super::OnCtlColor(pDC, pWnd, nCtlColor);
     4 
     5 // TODO: 在此更改 DC 的任何属性
     6 
     7 
     8 // TODO: 如果默认的不是所需画笔,则返回另一个画笔
     9 return m_brush;
  • 相关阅读:
    rc.local文件
    mysql 常用语句模板
    gradle使用
    Elasticsearch 聚合
    华盛顿大学 Programming Languages
    802.11基础
    802.11简单认证过程
    网络诊断错误归类
    802.1X基础
    终端管理软件tmux
  • 原文地址:https://www.cnblogs.com/qiwu1314/p/9140047.html
Copyright © 2011-2022 走看看