EDU511 国际专业IT教育服务门户 |
|
|
VC实现类似Windows的颜色选择器日期:08-05-12 20:36:17 点击: 来源:本站原创 用过Windwos的朋友都知道,Windows系统在需要设置颜色的地方都提供了一个颜色选择器,通过它用户可以选择自己喜爱的颜色来设定应用程序的界面,例如在设置字体的时候,我们就可以通过颜色选择器来设置所要显示的字体的颜色。为了在自己开发的软件中实现颜色的选择功能,本例封装了一个称为CColorPicker的类,它实现了上述的选择颜色的功能。为了演示该类的用法,本例子在一个对话框程序中添加了三个颜色选择按钮,其中两个颜色选择按钮分别用来让用户选择对话框背景颜色、对话框上的字体颜色,另外一个颜色选择按钮与一个编辑框绑定在一起,当用户选择颜色后,编辑框控件显示当前颜色的值。程序编译运行后的界面效果如图一所示:
一、实现方法 CColorPicker类是从CButton派生的,可以像一般的按钮一样使用它。因为考虑到封装性与使用的方便,其中的鼠标光标与色彩对话框都采用动态建立。该类提供自动绑定的功能,当选择的颜色改变后,立即将当前的颜色值显示到绑定的编辑控件上。 要得到如上图所示的界面效果,CColorPicker类就要重载CButton类的OnEraseBkgnd(CDC* pDC)重画背景函数,在该函数中首先得到按钮的区域尺寸,使用CDC::Draw3dRect()、CDC::FillSolidRect()等函数来设置区域效果, 然后为设备上下文CDC对象添加特定的画笔对象,在按钮区域使用CDC::MoveTo()、CDC::LineTo()等函数画上边缘线得到的,至于按钮上等黑色小三角,也是用通过类似思路来实现的。 当用户点击按钮后,要创建一个显示各种色彩的窗口,该窗口的创建是通过设置WNDCLASS 对象实现的,该WNDCLASS结构如下:
填充过上述窗口类的结构成员后,使用API函数::RegisterClass()在Windows中注册该窗口类,最后就可以使用API函数::CreateWindowEx()、::ShowWindow()来创建、显示该窗口了。::CreateWindowEx()函数的原型为:
( 责任编辑:编辑中心) 前一篇: 后一篇: 相关新闻(文章)
Excel 基础入门教程----表格边框 2008-05-18VC程序中树型控件节点拖动的完美实现 2008-05-12VC中自动改变控件位置和大小的对话框类 2008-05-12用VC++制作播放AVI视频流的动画按钮 2008-05-12VC++实现工具栏上添加平面组合框控件 2008-05-12VC防止窗口和控件闪烁的方法 2008-05-12 |
登录模块加载中...
热点VC教程
|
| 友情链接 | |