WEB开发网
开发学院软件开发VC MFC程序员的WTL指南(9)属性页与向导 阅读

MFC程序员的WTL指南(9)属性页与向导

 2006-07-22 22:03:05 来源:WEB开发网   
核心提示: INT_PTR DoModal(HWND hWndParent = ::GetActiveWindow())创建并显示一个模式的属性表,返回正值表示操作成功,MFC程序员的WTL指南(9)属性页与向导(3),有关PropertySheet() API的帮助文档有有关返回值的详细解释,如果发

INT_PTR DoModal(HWND hWndParent = ::GetActiveWindow())

创建并显示一个模式的属性表,返回正值表示操作成功,有关PropertySheet() API的帮助文档有有关返回值的详细解释,如果发生错误,属性表无法创建,DoModal()返回-1。

HWND Create(HWND hWndParent = NULL)

创建并显示一个无模式的属性表,返回值是窗口的句柄,如果发生错误,属性表无法创建,Create()返回NULL。

WTL 的属性页类

WTL对属性页的封装类与属性表的封装类相似,有一个窗口接口类 CPropertyPageWindow 和一个实现类 CPropertyPageImpl 。CPropertyPageWindow 很小,包含最常用的需要在作为父窗口的属性表中调用的方法。

CPropertyPageImpl 是从 CDialogImplBaseT派生,由于属性页是从对话框资源中创建的,这就意味着所有可以在对话框中使用的WTL的特性都可以在属性页中使用,如DDX和DDV。CPropertyPageImpl 有两个主要作用:管理一个PROPSHEETPAGE数据结构(保存在成员变量m_psp中),处理所有PSN_开头的通知消息。对于很简单的属性页可以直接使用CPropertyPage类,这个类只适合与用户没有任何交互的属性页,例如“关于”页面或者向导中的介绍页面

也可以创建含有ActiveX控件的属性页。首先,这需要在stdafx.h文件中添加对atlhost.h的包含,还要使用CAxPropertyPageImpl代替CPropertyPageImpl。对于简单的页面可以使用CAxPropertyPage代替CPropertyPage。

CPropertyPageImpl 的方法

CPropertyPageImpl 管理着一个 PROPSHEETPAGE 结构,也就是公有成员 m_psp。CPropertyPageImpl还重载了PROPSHEETPAGE*操作符,所以你可以将CPropertyPageImpl传递给需要LPPROPSHEETPAGE 或 LPCPROPSHEETPAGE 类型的参数的方法,例如CPropertySheetImpl::AddPage()。

上一页  1 2 3 4 5 6 7 8  下一页

Tags:MFC 程序员 WTL

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