WEB开发网
开发学院软件开发VC MFC程序员的WTL指南(5)对话框与控件 阅读

MFC程序员的WTL指南(5)对话框与控件

 2006-07-22 22:03:31 来源:WEB开发网   
核心提示:本文示例源代码或素材下载 对第四章的介绍MFC 的对话框和控件的封装真得可以节省你很多时间和功夫,没有MFC对控件的封装,MFC程序员的WTL指南(5)对话框与控件,你要操作控件就得耐着性子填写各种结构并写很多的SendMessage调用,MFC还提供了对话框数据交换(DDX),所以你可以参照MFC的文档使用这

本文示例源代码或素材下载

对第四章的介绍

MFC 的对话框和控件的封装真得可以节省你很多时间和功夫。没有MFC对控件的封装,你要操作控件就得耐着性子填写各种结构并写很多的SendMessage调用。MFC还提供了对话框数据交换(DDX),它可以在控件和变量之间传输数据。WTL 当然也提供了这些功能,并对控件的封装做了很多改进。本文将着眼于一个基于对话框的程序演示你以前用MFC实现的功能,除此之外还有WTL消息处理的增强功能。第五章将介绍高级界面特性和WTL对新控件的封装。

回顾一下ATL的对话框

现在回顾一下第一章 提到的两个对话框类,CDialogImpl 和 CAxDialogImpl。CAxDialogImpl用于包含ActiveX控件的对话框。本文不准备介绍ActiveX控件,所以只使用CDialogImpl。

创建一个对话框需要做三件事:

  1. 创建一个对话框资源
  2. 从CDialogImpl类派生一个新类
  3. 添加一个公有成员变量IDD,将它设置为对话框资源的ID.

然后就像主框架窗口那样添加消息处理函数,WTL没有改变这些,不过确实添加了一些其他能够在对话框中使用得特性。

通用控件的封装类

WTL有许多控件的封装类对你应该比较熟悉,因为它们使用与MFC相同(或几乎相同)的名字。控件的方法的命名也和MFC一样,所以你可以参照MFC的文档使用这些WTL的封装类。不足之处是F12键不能方便地跳到类的定义代码处。

下面是Windows内建控件的封装类:

  • 用户控件: CStatic, CButton, CListBox, CComboBox, CEdit, CScrollBar, CDragListBox
  • 通用控件: CImageList, CListViewCtrl (CListCtrl in MFC), CTreeViewCtrl (CTreeCtrl in MFC), CHeaderCtrl, CToolBarCtrl, CStatusBarCtrl, CTabCtrl, CToolTipCtrl, CTrackBarCtrl (CSliderCtrl in MFC), CUpDownCtrl (CSpinButtonCtrl in MFC), CProgressBarCtrl, CHotKeyCtrl, CAnimateCtrl, CRichEditCtrl, CReBarCtrl, CComboBoxEx, CDateTimePickerCtrl, CMonthCalendarCtrl, CIPAddressCtrl
  • MFC中没有的封装类: CPagerCtrl, CFlatScrollBar, CLinkCtrl (clickable hyperlink, available on XP only)

还有一些是WTL特有的类:CBitmapButton, CCheckListViewCtrl (带检查选择框的list控件), CTreeViewCtrlEx 和 CTreeItem (通常一起使用, CTreeItem 封装了HTREEITEM), CHyperLink (类似于网页上的超链接对象,支持所有操作系统)

1 2 3 4 5 6  下一页

Tags:MFC 程序员 WTL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接