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;
  • 相关阅读:
    hibernate动态切换数据源
    spring mvc之@ModelAttribute注解
    Nhibernate 4.0 教程入门
    关于Ubuntu运行级别、开机启动脚本的说明
    开发工程师面试的秘密( 整理自 Export C Programming )
    Linux (Ubuntu12.04) 下开发工具安装和使用
    Java 7 中的Switch 谈 Java版本更新和反编译知识
    Java语言的个人理解
    Jetty 服务器的知识
    集训培训日记——第二天
  • 原文地址:https://www.cnblogs.com/qiwu1314/p/9140047.html
Copyright © 2011-2022 走看看