VS2008给对话框添加背景颜色
2024-08-30 03:49:06
第一种方法如下:
在对话框OnPaint()函数中添加代码
//改变对话框背景颜色
CRect rect;
CPaintDC dc(this);
GetClientRect(rect);
dc.FillSolidRect(rect,RGB(,,));
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
HBRUSH CMyTestDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
{
HBRUSH hbr = __super::OnCtlColor(pDC, pWnd, nCtlColor); // TODO: 在此更改 DC 的任何属性 // TODO: 如果默认的不是所需画笔,则返回另一个画笔
return m_brush;
最新文章
- mysql锁
- How to bind data to a user control
- Apache禁止目录访问的方法
- 编译php时的一个脚本
- aop前传之代理
- HttpSessionBindingListener和HttpSessionAttributeListener区别 - gengkunpeng的专栏 - 博客频道 - CSDN.NET
- PHP克隆魔术方法
- STL之algorithm、numeric、functional
- 辛星浅析跨域传输的CORS解决方式
- Android核心基础(十)
- ViewPager不能高度自适应?height=wrap_content 无效解决办法
- 浅谈身为小白学习Linux系统的四点实用建议
- 离线缓存 manifest
- 第8章 概述 - Identity Server 4 中文文档(v1.0.0)
- 小程序 components 下的组件引入字体图标时样式不生效
- LOL新版符文 怎么查看队友的符文配置?
- Gitlab8.5安装后邮件发送不成功的解决过程
- 陌上花开——CDQ分治
- oracle-sql分析练习
- leetcode1025