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

要从中加载图标或字符串资源的实例的句柄。 如果 pszIconpszTitlepszHeaderTitlepszHeaderSubTitle 成员标识要加载的资源,则必须指定 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 指向的值递增。 通过在 PROPSHEETHEADERdwFlags 成员中设置 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)