第5节  控件的二次开发——滑块控件

更新于 2026年10月10日 版权声明
第5节 控件的二次开发——滑块控件

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

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

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

图示

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

图示

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

图示

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

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

图示

图示

图示(https://www.daowen.com)

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

图示

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

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

图示

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

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

图示

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

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

图示

图11-22 查看运行结果

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)