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;
  • 相关阅读:
    Java数据结构和算法——汉诺塔问题
    svn的使用
    Struts+iBatis+Spring+mysql整合开发
    Java Collection
    IOS推送功能的实现(javapns)
    [工具库]JFileDownloader工具类——多线程下载网络文件,并保存在本地
    xsl 中 foreach 的使用
    网页制作技巧24条
    js 实现 datagrid 鼠标移动时datagrid 表的该变
    How to extend ASP.NET datagrid for multiselection of data rows.
  • 原文地址:https://www.cnblogs.com/qiwu1314/p/9140047.html
Copyright © 2011-2022 走看看