PROPSHEETPAGE structure

Defines a page in a property sheet.

Syntax

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;

Members

dwSize

Type: DWORD

Size, in bytes, of this structure.

dwFlags

Type: DWORD

Flags that indicate which options to use when creating the property sheet page. This member can be a combination of the following values.

Value Meaning
PSP_DEFAULT Uses the default meaning for all structure members. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_DLGINDIRECT Creates the page from the dialog box template in memory pointed to by the pResource member. The PropertySheet function assumes that the template that is in memory is not write-protected. A read-only template will cause an exception in some versions of Windows.
PSP_HASHELP Enables the property sheet Help button when the page is active. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_HIDEHEADER Version 5.80 and later. Causes the wizard property sheet to hide the header area when the page is selected. If a watermark has been provided, it will be painted on the left side of the page. This flag should be set for welcome and completion pages, and omitted for interior pages. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_PREMATURE Version 4.71 or later. Causes the page to be created when the property sheet is created. If this flag is not specified, the page will not be created until it is selected the first time. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_RTLREADING Reverses the direction in which pszTitle is displayed. Normal windows display all text, including pszTitle, left-to-right (LTR). For languages such as Hebrew or Arabic that read right-to-left (RTL), a window can be mirrored and all text will be displayed RTL. If PSP_RTLREADING is set, pszTitle will instead read RTL in a normal parent window, and LTR in a mirrored parent window.
PSP_USECALLBACK Calls the function specified by the pfnCallback member when creating or destroying the property sheet page defined by this structure.
PSP_USEFUSIONCONTEXT Version 6.0 and later. Use an activation context. To use an activation context, you must set this flag and assign the activation context handle to hActCtx. See the Remarks.
PSP_USEHEADERSUBTITLE Version 5.80 or later. Displays the string pointed to by the pszHeaderSubTitle member as the subtitle of the header area of a Wizard97 page. To use this flag, you must also set the PSH_WIZARD97 flag in the dwFlags member of the associated PROPSHEETHEADER structure. The PSP_USEHEADERSUBTITLE flag is ignored if PSP_HIDEHEADER is set. In Aero-style wizards, the title appears near the top of the client area.
PSP_USEHEADERTITLE Version 5.80 or later. Displays the string pointed to by the pszHeaderTitle member as the title in the header of a Wizard97 interior page. You must also set the PSH_WIZARD97 flag in the dwFlags member of the associated PROPSHEETHEADER structure. The PSP_USEHEADERTITLE flag is ignored if PSP_HIDEHEADER is set. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_USEHICON Uses hIcon as the small icon on the tab for the page. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_USEICONID Uses pszIcon as the name of the icon resource to load and use as the small icon on the tab for the page. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).
PSP_USEREFPARENT Maintains the reference count specified by the pcRefParent member for the lifetime of the property sheet page created from this structure.
PSP_USETITLE Uses the pszTitle member as the title of the property sheet dialog box instead of the title stored in the dialog box template. This flag is not supported when using the Aero-style wizard (PSH_AEROWIZARD).

hInstance

Type: HINSTANCE

Handle to the instance from which to load an icon or string resource. If the pszIcon, pszTitle, pszHeaderTitle, or pszHeaderSubTitle member identifies a resource to load, hInstance must be specified.

pszTemplate

Type: LPCSTR

Dialog box template to use to create the page. This member can specify either the resource identifier of the template or the address of a string that specifies the name of the template. If the PSP_DLGINDIRECT flag in the dwFlags member is set, pszTemplate is ignored. This member is declared as a union with pResource.

pResource

Type: LPCDLGTEMPLATE

Pointer to a dialog box template in memory. The PropertySheet function assumes that the template is not write-protected. A read-only template will cause an exception in some versions of Windows. To use this member, you must set the PSP_DLGINDIRECT flag in the dwFlags member. This member is declared as a union with pszTemplate.

hIcon

Type: HICON

Handle to the icon to use as the icon in the tab of the page. If the dwFlags member does not include PSP_USEHICON, this member is ignored. This member is declared as a union with pszIcon.

pszIcon

Type: LPCSTR

Icon resource to use as the icon in the tab of the page. This member can specify either the identifier of the icon resource or the address of the string that specifies the name of the icon resource. To use this member, you must set the PSP_USEICONID flag in the dwFlags member. This member is declared as a union with hIcon.

pszTitle

Type: LPCSTR

Title of the property sheet dialog box. This title overrides the title specified in the dialog box template. This member can specify either the identifier of a string resource or the address of a string that specifies the title. To use this member, you must set the PSP_USETITLE flag in the dwFlags member.

pfnDlgProc

Type: DLGPROC

Pointer to the dialog box procedure for the page. Because the pages are created as modeless dialog boxes, the dialog box procedure must not call the EndDialog function.

lParam

Type: LPARAM

When the page is created, a copy of the page's PROPSHEETPAGE structure is passed to the dialog box procedure with a WM_INITDIALOG message. The lParam member is provided to allow you to pass application-specific information to the dialog box procedure. It has no effect on the page itself.

pfnCallback

Type: LPFNPSPCALLBACK

Pointer to an application-defined callback function that is called when the page is created and when it is about to be destroyed. For more information about the callback function, see LPFNPSPCALLBACKA callback function. To use this member, you must set the PSP_USECALLBACK flag in the dwFlags member.

pcRefParent

Type: UINT*

Pointer to the reference count value. To use this member, you must set the PSP_USEREFPARENT flag in the dwFlags member.

Note

When a property sheet page is created, the value pointed to by pcRefParent is incremented. You create a property sheet page implicitly by setting the PSH_PROPSHEETPAGE flag in the dwFlags member of PROPSHEETHEADER and calling the PropertySheet function. You can do it explicitly by using the CreatePropertySheetPage function. When a property sheet page is destroyed, the value pointed to by the pcRefParent member is decremented. This takes place automatically when the property sheet is destroyed. You can explicitly destroy a property sheet page by using the DestroyPropertySheetPage function.

pszHeaderTitle

Type: LPCTSTR

Version 5.80 or later. Title of the header area. To use this member under the Wizard97-style wizard, you must also do the following:

  • Set the PSP_USEHEADERTITLE flag in the dwFlags member.
  • Set the PSH_WIZARD97 flag in the dwFlags member of the page's PROPSHEETHEADER structure.
  • Make sure that the PSP_HIDEHEADER flag in the dwFlags member is not set.

pszHeaderSubTitle

Type: LPCTSTR

Version 5.80 or later. Subtitle of the header area. To use this member, you must do the following:

  • Set the PSP_USEHEADERSUBTITLE flag in the dwFlags member.
  • Set the PSH_WIZARD97 flag in the dwFlags member of the page's PROPSHEETHEADER structure.
  • Make sure that the PSP_HIDEHEADER flag in the dwFlags member is not set.

Note

This member is ignored when using the Aero-style wizard (PSH_AEROWIZARD)

hActCtx

Type: HANDLE

Version 6.0 or later. An activation context handle. Set this member to the handle that is returned when you create the activation context with CreateActCtx. The system will activate this context before creating the dialog box. You do not need to use this member if you use a global manifest.

hbmHeader

Type: HBITMAP

This member is declared as a union with pszbmHeader.

pszbmHeader

Type: LPCSTR

This member is declared as a union with hbmHeader.

Remarks

Comctl32.dll version 6 and later are not redistributable. To use Comctl32.dll version 6 or later, specify the .dll file in a manifest. For more information on manifests, see Enabling Visual Styles.

Requirements

Requirement Value
Minimum supported client Windows Vista [desktop apps only]
Minimum supported server Windows Server 2003 [desktop apps only]
Header Prsht.h
Unicode and ANSI names PROPSHEETHEADERW (Unicode) and PROPSHEETHEADERA (ANSI)