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 对所有结构成员使用默认含义。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。
PSP_DLGINDIRECT 从内存中 由 pResource 成员指向的对话框中模板创建页面。 PropertySheet 函数假定内存中的模板不受写入保护。 只读模板将导致某些版本的Windows异常。
PSP_HASHELP 启用页面处于活动状态时的属性表 帮助 按钮。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。
PSP_HIDEHEADER 版本 5.80 及更高版本。 使向导属性表在选定页面时隐藏页眉区域。 如果已提供水印,则会在页面左侧绘制水印。 应为欢迎页和完成页设置此标志,并省略内部页面。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。
PSP_PREMATURE 版本 4.71 或更高版本。 导致创建属性表时创建页面。 如果未指定此标志,则在首次选择该标志之前,将不会创建该页。 使用航空样式向导 (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标志。 在航空样式向导中,标题显示在工作区顶部附近。
PSP_USEHEADERTITLE 版本 5.80 或更高版本。 将 pszHeaderTitle 成员指向的字符串显示为 Wizard97 内部页页眉中的标题。 还必须在关联的 PROPSHEETHEADER 结构的 dwFlags 成员中设置PSH_WIZARD97标志。 如果设置了PSP_HIDEHEADER,则忽略PSP_USEHEADERTITLE标志。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。
PSP_USEHICON 使用 hIcon 作为页面选项卡上的小图标。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。
PSP_USEICONID 使用 pszIcon 作为图标资源的名称来加载并用作页面选项卡上的小图标。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。
PSP_USEREFPARENT 维护 由 pcRefParent 成员为从此结构创建的属性表页的生存期指定的引用计数。
PSP_USETITLE 使用 pszTitle 成员作为属性表对话框的标题,而不是存储在对话框模板中的标题。 使用航空样式向导 (PSH_AEROWIZARD) 时,不支持此标志。

hInstance

类型: HINSTANCE

要从中加载图标或字符串资源的实例的句柄。 如果 pszIconpszTitle、pszHeaderTitlepszHeaderSubTitle 成员标识要加载的资源,则必须指定 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

创建页面后,将使用WM_INITDIALOG消息将页面的 PROPSHEETPAGE 结构的副本传递给对话框过程。 提供 lParam 成员以允许将应用程序特定的信息传递给对话框过程。 它对页面本身没有影响。

pfnCallback

类型: LPFNPSPCALLBACK

指向应用程序定义的回调函数的指针,该函数在创建页面时以及即将销毁时调用的回调函数。 有关回调函数的详细信息,请参阅 LPFNPSPCALLBACKA 回调函数。 若要使用此成员,必须在 dwFlags 成员中设置PSP_USECALLBACK标志。

pcRefParent

类型: UINT*

指向引用计数值的指针。 若要使用此成员,必须在 dwFlags 成员中设置PSP_USEREFPARENT标志。

注意

创建属性表页时, pcRefParent 指向的值将递增。 通过在 PROPSHEETHEADERdwFlags 成员和调用 PropertySheet 函数中设置PSH_PROPSHEETPAGE标志来隐式创建属性表页。 可以使用 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标志。

注意

使用航空样式向导时忽略此成员 (PSH_AEROWIZARD)

hActCtx

类型: HANDLE

版本 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)