- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八部分-属性表格和向导
第八部分 - 属性表和向导
下载示例工程 - 272 KB
内容
简介
WTL 属性表类
CPropertySheetImpl 的方法
WTL 属性页类
CPropertyPageWindow 的方法
CPropertyPageImpl 的方法
处理通知消息
创建一个属性表
永远最简单的属性表
创建一个有用的属性页
创建一个更好的属性表类
创建一个向导
添加更多的页,处理 DDV
其他的 UI 考虑
居中属性表
为属性页添加图标
下一步
修订历史
简介
甚至于在 Windows 95 把属性表引入为公用控件之前,它就已经成为了呈现选项的一种颇为流行的方法了。向导通常用于指导用户通历软件的安装过程或者其他的复杂工作。WTL 对创建这两种类型的属性表都提供了良好的支持,并允许你使用前 面介绍过的所有的那些对话框相关的特性,比如说 DDX 和 DDV。在本章里,我会演示创建一个基本的属性表和向导,以及如何处理由表发送出的事件和通知消息。
WTL 属性表类
有两个类,CPropertySheetWindow 和 CPropertySheetImpl,它们组合起来实现了属性表。它们都定义在 atldlgs.h 头文件中。CPropertySheetWindow 是一个窗口接口类,也就是说,它派生于 CWindow,而 CPropertySheetImpl 具有消息映射并实际上实现了窗口功能。这与基本的 ATL 窗口类是一致的,在其中 CWindow 和 CWindowImpl 也被一起使用。
CPropertySheetWindow 包括了对多个 PSM_* 消息的封装,比如 SetActivePageByID() 就封装了 PSM_SETCURSELID。CPropertySheetImpl 管理着一个 PROPSHEETHEADER 结构以及一组 HPROPSHEETPAGE。CPropertySheetImpl 中还有一些方法,用于设置某些 PROPSHEETHEADER 域,添加以及删除页。你也可以通过访问 m_psh 成员变量来获得对 PROPSHEETHEADER 的直接访问。
最后要说明的是,CPropertySheet 是 CPropertySheetImpl 的一个特化,如果你根本不需要对属性表进行定制的话,那你就可以使用它。
CPropertySheetImpl 的方法
下面是 CPropertySheetImpl 的一些重要的方法。因为许多方法仅仅是对窗口消息的封装,我不会在这儿列一个详尽的清单,但你可以到 atldlgs.h 里查看方法的完整列表。
CPropertySheetImpl(_U_STRINGorID title = (LPCTSTR) NULL,
UINT uStartPage = 0, HWND hWndParent = NULL)
CPropertySheetImpl 的构造函数允许你当下就指定一些常用的属性,这样你就不必在以后调用别的方法来设置它们。title 指定了在属性表的标题上用到的文字。_U_STRINGorID 是一个 WTL 辅助类,可以使你传递 LPCTSTR 或者字符串资源 ID。例如,如果 IDS_SHEET_TITLE 是字符串表中某个字符串的 ID 的话,那么下面这两行就都可以工作:
CPropertySheetImpl mySheet ( IDS_SHEET_TITLE );
CPropertySheetImpl mySheet ( _T(My prop sheet) );
uStartPage 是从零开始的页面索引值,当属性表第一次显示时,该页就会被激活。hWndParent 设置了属性表的父窗口。
BOOL AddPage(HPROPSHEETPAGE hPage)
BOOL AddPage(LPCPROPSHEETPAGE pPage)
向属性表中添加一个属性页。如果该页已经创建的话,你可以将其句柄(一个 HPROPSHEETPAGE)传递给第一个重载版本的函数。更常见的方法是使用第二个重载版本。使用这一版本,你可以先设置一个 PROPSHEETPAGE 结构(此事可以由 CPropertyPageImpl 来做,后文会有介绍),而 CPropertySheetImpl 会为你创建并管理该页。
BOOL RemovePage(HPROPSHEETPAGE hPage)
BOOL RemovePage(int nPageIndex)
从属性表中删除一个属性页。你既可以传递属性页的句柄也可以传递基于零的索引值。
BOOL SetActivePage(HPROPSHEETPAGE
您可能关注的文档
最近下载
- 医疗废物、废水处置知识培训测试题附答案.docx VIP
- 陕西省建设工程工程量清单计价规则2009(附录A).pdf VIP
- 城市轨道交通站务管理(化工社版):任务5.1.ppt VIP
- 虚拟主播在直播电商中的产品试吃效果与消费者评价分析.docx
- (最新)25年秋人教版二年级数学上册第四单元厘米和米单元教学计划.docx
- 《国际公法学(第三版)》 课件全套 第0--19章 绪论、 国际法的性质与发展---国际人道法.pptx
- 医疗废物知识培训测试卷附答案.docx VIP
- 城市轨道交通站务管理(化工社版):任务4.ppt VIP
- IATF16949质量体系审核检查表2019.doc VIP
- 城市轨道交通站务管理(化工社版):任务4.2.ppt VIP
原创力文档


文档评论(0)