3.31如何改变程序清单视图的背景颜色?
来源:互联网 发布:mac程序管理器怎么打开 编辑:程序博客网 时间:2024/05/29 09:32
“3.26如何改变一个视图的背景颜色?”中介绍的技术不能改变程序清单视图的背景颜色。因为程序清单视图是一种特殊类型的对话框,而Windows以特殊的方式处理对话框的背景颜色。所以,如果打算使程序清单视图具有生动的背景,则仔细按照下面的步骤进行:
第1步:在程序清单类中定义并初始化HBRUSH类型的成员变量。
第2步:使用ClassWizard在程序清单视图类中增加一个WM_CTLCOLOR消息句柄,该句柄的实现如下面的程序清单所示:
第3步:使用与下面相似的代码来改变程序清单视图的背景颜色。
解释:为了允许对话框(或程序清单视图)改变 用来绘画每个控件的颜色,Windows为对话框上的每个控件已经对话框本身发送WM_CTLCOLOR消息,该消息的句柄有如下的原型:
HBRUSH OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor);
调用pDC->SetTextColor()设置文本颜色,通过返回一个刷子句柄来来设置背景颜色,当返回一个刷子句柄时,须小心,当离开OnCtlColor函数时,不要释放该句柄----也就是说,在OnCtlColor()函数中不要返回一个在堆栈中创建的CBrush对象的句柄。
pWnd变量指向一个(可能是临时的)CWnd对象,它代表程序清单视图要绘制的颜色的控件。
nCtlColor变量指明了OnCtlColor()绘制的控件类型,该变量可以是下面的数值之一:
CTLCOLOR_BTN 按钮控件
CTLCOLOR_DLG 对话框本身
CTLCOLOR_EDIT 编辑控件
CTLCOLOR_LISTBOX 列表框控件
CTLCOLOR_MSGBOX 消息框
CTLCOLOR_SCROLLBAR 滚动条控件
CTLCOLOR_STATIC 静态控件
- 3.31--如何改变程序清单视图的背景颜色?
- 3.31如何改变程序清单视图的背景颜色?
- 3.26-如何改变一个视图的背景颜色?
- 3.26如何改变一个视图的背景颜色?
- 改变视图背景颜色
- 如何改变对话框的背景颜色
- 如何改变视窗的背景颜色
- 如何改变对话框的背景颜色
- 如何改变对话框的背景颜色
- 如何改变对话框的背景颜色
- 如何改变对话框的背景颜色
- 如何改变PDF文档的背景颜色
- 如何改变对话框的背景颜色
- 如何改变UITableViewHeaderFooterView的背景颜色
- 如何改变视图窗口的颜色
- VC6,SDI视图改变背景颜色的方法
- java console程序改变字的颜色和背景颜色
- 在程序中动态改变控件的背景颜色
- INI file 详解。
- Excel 常用函数
- osgi生命周期管理
- .NET log4net
- JavaScript实现页面传值
- 3.31如何改变程序清单视图的背景颜色?
- eclipse反编译class文件插件
- 亚马逊CEO:Kindle电子阅读器彩色化仍长路漫漫
- flex效果(转载)
- symbian 数据库字段长度
- 用JavaScript来实现一些简单的控件验证
- 智能机UI开发比较
- 数据之美(九):50个精美绝伦的 Infographics(上)
- 消息定义问题