PROPSHEETPAGE 结构
定义属性表中的页面。
语法
typedef struct {
DWORD dwSize;
DWORD dwFlags;
HINSTANCE hInstance;
union {
LPCSTR pszTemplate;
PROPSHEETPAGE_RESOURCE pResource;
};
union {
HICON hIcon;
LPCSTR pszIcon;
};
LPCSTR pszTitle;
DLGPROC pfnDlgProc;
LPARAM lParam;
LPFNPSPCALLBACK pfnCallback;
UINT *pcRefParent;
LPCTSTR pszHeaderTitle;
LPCTSTR pszHeaderSubTitle;
HANDLE hActCtx;
union
{
HBITMAP hbmHeader;
LPCSTR pszbmHeader;
}
} PROPSHEETPAGE, *LPPROPSHEETPAGE;
成员
dwSize
类型:DWORD
此结构的大小(以字节为单位)。
dwFlags
类型:DWORD
指示创建属性表页时要使用的选项的标志。 此成员可以是以下值的组合。
值 | 含义 |
---|---|
PSP_DEFAULT | 对所有结构成员使用默认含义。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_DLGINDIRECT | 从 pResource 成员指向的内存中的对话框模板创建页面。 PropertySheet 函数假定内存中的模板不受写保护。 在某些版本的 Windows 中,只读模板将导致异常。 |
PSP_HASHELP | 当页面处于活动状态时,启用属性表 “帮助 ”按钮。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_HIDEHEADER | 版本 5.80 及更高版本。 使向导属性表在选择页时隐藏页眉区域。 如果已提供水印,则会在页面左侧绘制该水印。 应为欢迎页和完成页设置此标志,对于内部页面,应省略此标志。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_PREMATURE | 版本 4.71 或更高版本。 导致在创建属性表时创建页面。 如果未指定此标志,则在首次选择页面之前,不会创建该页。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_RTLREADING | 反转 pszTitle 的显示方向。 普通窗口显示所有文本,包括 pszTitle、从左到右 (LTR) 。 对于从右到左 (RTL) 读取的希伯来语或阿拉伯语等语言,可以镜像窗口,并且所有文本都将显示为 RTL。 如果设置了PSP_RTLREADING, pszTitle 将改为在普通父窗口中读取 RTL,在镜像父窗口中读取 LTR。 |
PSP_USECALLBACK | 在创建或销毁由此结构定义的属性表页时,调用 pfnCallback 成员指定的函数。 |
PSP_USEFUSIONCONTEXT | 版本 6.0 及更高版本。 使用激活上下文。 若要使用激活上下文,必须设置此标志并将激活上下文句柄分配给 hActCtx。 请参阅备注。 |
PSP_USEHEADERSUBTITLE | 版本 5.80 或更高版本。 将 pszHeaderSubTitle 成员指向的字符串显示为 Wizard97 页面的页眉区域的副标题。 若要使用此标志,还必须在关联的 PROPSHEETHEADER 结构的 dwFlags 成员中设置PSH_WIZARD97标志。 如果设置了PSP_HIDEHEADER,则忽略PSP_USEHEADERSUBTITLE标志。 在 Aero 样式向导中,标题显示在工作区顶部附近。 |
PSP_USEHEADERTITLE | 版本 5.80 或更高版本。 将 pszHeaderTitle 成员指向的字符串显示为 Wizard97 内部页的标题。 还必须在关联的 PROPSHEETHEADER 结构的 dwFlags 成员中设置PSH_WIZARD97标志。 如果设置了PSP_HIDEHEADER,则忽略PSP_USEHEADERTITLE标志。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_USEHICON | 使用 hIcon 作为页面选项卡上的小图标。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_USEICONID | 使用 pszIcon 作为要加载的图标资源的名称,并使用 作为页面选项卡上的小图标。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
PSP_USEREFPARENT | 维护 pcRefParent 成员在从此结构创建的属性表页的生存期内指定的引用计数。 |
PSP_USETITLE | 使用 pszTitle 成员作为属性表对话框的标题,而不是存储在对话框模板中的标题。 使用 Aero 样式 向导 (PSH_AEROWIZARD) 时,不支持此标志。 |
hInstance
类型: HINSTANCE
要从中加载图标或字符串资源的实例的句柄。 如果 pszIcon、 pszTitle、 pszHeaderTitle 或 pszHeaderSubTitle 成员标识要加载的资源,则必须指定 hInstance 。
pszTemplate
类型: LPCSTR
用于创建页面的对话框模板。 此成员可以指定模板的资源标识符或指定模板名称的字符串的地址。 如果设置了 dwFlags 成员中的 PSP_DLGINDIRECT 标志,则忽略 pszTemplate 。 此成员声明为与 pResource 的联合。
pResource
类型: LPCDLGTEMPLATE
指向内存中的对话框模板的指针。 PropertySheet 函数假定模板不受写保护。 在某些版本的 Windows 中,只读模板将导致异常。 若要使用此成员,必须在 dwFlags 成员中设置 PSP_DLGINDIRECT 标志。 此成员声明为与 pszTemplate 的联合。
hIcon
类型: HICON
要用作页面选项卡中图标的图标的句柄。 如果 dwFlags 成员不包括PSP_USEHICON,则忽略此成员。 此成员声明为与 pszIcon 的联合。
pszIcon
类型: LPCSTR
要用作页面选项卡中图标的图标资源。 此成员可以指定图标资源的标识符或指定图标资源名称的字符串的地址。 若要使用此成员,必须在 dwFlags 成员中设置 PSP_USEICONID 标志。 此成员声明为与 hIcon 的联合。
pszTitle
类型: LPCSTR
属性表对话框的标题。 此标题将替代对话框模板中指定的标题。 此成员可以指定字符串资源的标识符或指定标题的字符串的地址。 若要使用此成员,必须在 dwFlags 成员中设置 PSP_USETITLE 标志。
pfnDlgProc
类型: DLGPROC
指向页面的对话框过程的指针。 由于页面创建为无模式对话框,因此对话框过程不得调用 EndDialog 函数。
lParam
类型: LPARAM
创建页面时,页面的 PROPSHEETPAGE 结构的副本将传递给带有 WM_INITDIALOG 消息的对话框过程。 提供 lParam 成员用于将特定于应用程序的信息传递到对话框过程。 它对页面本身没有影响。
pfnCallback
类型: LPFNPSPCALLBACK
指向应用程序定义的回调函数的指针,该函数在创建页面和即将销毁页面时调用。 有关回调函数的详细信息,请参阅 LPFNPSPCALLBACKA 回调函数。 若要使用此成员,必须在 dwFlags 成员中设置 PSP_USECALLBACK 标志。
pcRefParent
类型: UINT*
指向引用计数值的指针。 若要使用此成员,必须在 dwFlags 成员中设置 PSP_USEREFPARENT 标志。
注意
创建属性表页时, pcRefParent 指向的值递增。 通过在 PROPSHEETHEADER 的 dwFlags 成员中设置 PSH_PROPSHEETPAGE 标志并调用 PropertySheet 函数,可以隐式创建属性表页。 可以使用 CreatePropertySheetPage 函数显式执行此操作。 销毁属性表页时, pcRefParent 成员指向的值将递减。 当属性表被销毁时,这会自动发生。 可以使用 DestroyPropertySheetPage 函数显式销毁属性表页。
pszHeaderTitle
类型: LPCTSTR
版本 5.80 或更高版本。 标题区域的标题。 若要在 Wizard97 样式向导下使用此成员,还必须执行以下操作:
- 在 dwFlags 成员中设置PSP_USEHEADERTITLE标志。
- 在页面的 PROPSHEETHEADER 结构的 dwFlags 成员中设置PSH_WIZARD97标志。
- 确保未设置 dwFlags 成员中的 PSP_HIDEHEADER 标志。
pszHeaderSubTitle
类型: LPCTSTR
版本 5.80 或更高版本。 标题区域的副标题。 若要使用此成员,必须执行以下操作:
- 在 dwFlags 成员中设置PSP_USEHEADERSUBTITLE标志。
- 在页面的 PROPSHEETHEADER 结构的 dwFlags 成员中设置PSH_WIZARD97标志。
- 确保未设置 dwFlags 成员中的 PSP_HIDEHEADER 标志。
注意
使用 Aero 样式向导 (PSH_AEROWIZARD) 时 ,将忽略此成员
hActCtx
类型: 句柄
版本 6.0 或更高版本。 激活上下文句柄。 将此成员设置为使用 CreateActCtx 创建激活上下文时返回的句柄。 系统会在创建对话框之前激活此上下文。 如果使用全局清单,则无需使用此成员。
hbmHeader
类型: HBITMAP
此成员与 pszbmHeader 声明为联合。
pszbmHeader
类型: LPCSTR
此成员与 hbmHeader 声明为联合。
备注
Comctl32.dll版本 6 及更高版本不可再发行。 若要使用Comctl32.dll版本 6 或更高版本,请在清单中指定.dll文件。 有关清单的详细信息,请参阅 启用视觉样式。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | Prsht.h |
Unicode 和 ANSI 名称 | PROPSHEETHEADERW (Unicode) 和 PROPSHEETHEADERA (ANSI) |