上一页 下一页 返回

小 结

  这一讲对控件的创建和使用进行了较全面的介绍,其要点为:

  • Windows的控件分为传统控件和新型Win32控件两类。传统控件包括静态控件、按钮、编辑框、滚动条、列表框和组合框。Win32控件包括列表视图、树形视图、进度条、旋转按钮、轨道条、热键和标签。

  • 传统控件的通知消息一般是通过WM_COMMAND消息发给父窗口的,Win32控件的通知消息则是通过WM_NOTIFY消息发送的,该消息可以附带大量信息。

  • 由于所有的控件都是子窗口,所有的控件类都是CWnd类的派生类。因此可以用象ShowWindow、EnableWindow和MoveWindow这样的CWnd成员函数来控制控件。

  • 控件的创建有自动和手工两种常用方法. 控件的自动创建是通过向对话框模板中添加控件实现的。手工创建则需要构建一个控件对象并调用相应的Create函数。

  • 访问控件的方法包括:1、通过对话框的数据交换功能来查询和设置控件;2、通过控件对象来访问控件;3、利用CWnd类的一些用于管理控件的成员函数来访问控件.

  • 控件对象一般是以成员变量的形式嵌入到父窗口对象中的。如果控件是创建在堆中的,则在父窗口被关闭时显示调用delete删除控件对象。

  • 并不是只有对话框才能使用控件,控件可以出现在表单视图、工具条和状态栏等窗口中。

  • 可以用ClassWizard生成标准控件类的派生类,以便设计出用户定制的控件。利用MFC的控件通知消息反射机制可以完善派生类的功能,利用CWnd::SubclassDlgItem提供的动态连接功能,可以把对话框模板中的控件与定制的控件对象连接起来。