首页 理论教育VC++MFC视频教程:滑块控件二次开发

VC++MFC视频教程:滑块控件二次开发

【摘要】:从自定义的空白窗口开始开发出一个控件,无疑是比较辛苦的工作。其实前面章节中的自绘控件,就是一种特殊控件二次开发的方法,但有很多控件没有自绘属性。不支持自绘的控件进行二次开发,主要是编写代码改造控件的绘图和操作的消息映射函数,如OnPaint和OnMouseMove等。3)在类视图中添加一些窗口显示与鼠标操作相关的消息映射函数,如图11-19所示。显然基于标准控件的二次开发,比从空白窗口开始重新开发控件的过程简单很多。

从自定义的空白窗口开始开发出一个控件,无疑是比较辛苦的工作。如果在标准控件的现有功能的基础上进行改造,则可以节省不少开发的工作量,这就是控件的二次开发。其实前面章节中的自绘控件,就是一种特殊控件二次开发的方法,但有很多控件没有自绘属性(Ownerdraw)。不支持自绘的控件进行二次开发,主要是编写代码改造控件的绘图和操作的消息映射函数,如OnPaint和OnMouseMove等。

创建一个工程名为“sl”的基于对话框程序,用于演示对(CSliderCtrl类)滑块控件进行二次开发,将其改造成为一个播放器中的“进度条”。

1)在类视图中添加CSliderCtrl的派生类CTestSld,并修改头文件。

978-7-111-46378-8-Chapter11-63.jpg

2)在源文件(TestSld.cpp)中,修改构造函数初始化成员变量

978-7-111-46378-8-Chapter11-64.jpg

3)在类视图中添加一些窗口显示与鼠标操作相关的消息映射函数,如图11-19所示。

978-7-111-46378-8-Chapter11-65.jpg

图11-19 添加多个消息映射函数

4)修改以上建立的所有消息映射函数的代码。

978-7-111-46378-8-Chapter11-66.jpg

978-7-111-46378-8-Chapter11-67.jpg

978-7-111-46378-8-Chapter11-68.jpg(www.chuimin.cn)

5)在主对话框中添加一个滑块控件,ID设为IDC_SLIDER,如图11-20所示。

978-7-111-46378-8-Chapter11-69.jpg

图11-20 编辑主对话框资源

6)使用类向导对滑块控件建立关联变量(CTestSld类型),如图11-21所示。

978-7-111-46378-8-Chapter11-70.jpg

图11-21 添加控件型关联变量

7)注意要在主对话框类的头文件中,包含刚开发好的CTestSld类的头文件。

978-7-111-46378-8-Chapter11-71.jpg

8)编译并运行,测试代码,如图11-22所示。

显然基于标准控件的二次开发,比从空白窗口开始重新开发控件的过程简单很多。

978-7-111-46378-8-Chapter11-72.jpg

图11-22 查看运行结果