Property Sheet

This section contains information about programming elements used with property sheets.

Overviews

Topic Contents
About Property Sheets A property sheet is a window that allows the user to view and edit the properties of an item.
Creating Wizards A wizard is a type of property sheet that provides a simple and powerful way to guide users through a procedure.
Using Property Sheets This section gives implementation details and example code for working with property sheets.

Functions

Topic Contents
AddPropSheetPageProc Specifies an application-defined callback function that a property sheet extension uses to add a page to a property sheet.
CreatePropertySheetPage Creates a new page for a property sheet.
DestroyPropertySheetPage Destroys a property sheet page. An application must call this function for pages that have not been passed to the PropertySheet function.
PropertySheet Creates a property sheet and adds the pages defined in the specified property sheet header structure.
PropSheetPageProc Specifies an application-defined callback function that a property sheet calls when a page is created and when it is about to be destroyed. An application can use this function to perform initialization and cleanup operations for the page.
PropSheetProc An application-defined callback function that the system calls when the property sheet is being created and initialized.

Messages

Topic Contents
PSM_ADDPAGE Adds a new page to the end of an existing property sheet. You can send this message explicitly or by using the PropSheet_AddPage macro.
PSM_APPLY Simulates the selection of the Apply button, indicating that one or more pages have changed and the changes need to be validated and recorded.
PSM_CANCELTOCLOSE Sent by an application when it has performed changes since the most recent PSN_APPLY notification that cannot be canceled. You can send this message explicitly or by using the PropSheet_CancelToClose macro.
PSM_CHANGED Informs a property sheet that information in a page has changed. You can send this message explicitly or by using the PropSheet_Changed macro.
PSM_ENABLEWIZBUTTONS Enables or disables any of the standard buttons in an Aero wizard. You can send this message explicitly or use the PropSheet_EnableWizButtons macro.
PSM_GETCURRENTPAGEHWND Retrieves a handle to the window of the current page of a property sheet. You can send this message explicitly or by using the PropSheet_GetCurrentPageHwnd macro.
PSM_GETRESULT Used by modeless property sheets to retrieve the information returned to modal property sheets by PropertySheet. You can send this message explicitly or use the PropSheet_GetResult macro.
PSM_GETTABCONTROL Retrieves the handle to the tab control of a property sheet. You can send this message explicitly or by using the PropSheet_GetTabControl macro.
PSM_HWNDTOINDEX Takes the window handle of the property sheet page and returns its zero-based index. You can send this message explicitly or use the PropSheet_HwndToIndex macro.
PSM_IDTOINDEX Takes the resource ID of a property sheet page and returns its zero-based index. You can send this message explicitly or use the PropSheet_IdToIndex macro.
PSM_INDEXTOHWND Takes the index of a property sheet page and returns its window handle. You can send this message explicitly or use the PropSheet_IndexToHwnd macro.
PSM_INDEXTOID Takes the index of a property sheet page and returns its resource ID. You can send this message explicitly or use the PropSheet_IndexToId macro.
PSM_INDEXTOPAGE Takes the index of a property sheet page and returns its HPROPSHEETPAGE handle. You can send this message explicitly or use the PropSheet_IndexToPage macro.
PSM_INSERTPAGE Inserts a new page into an existing property sheet. The page can be inserted either at a specified index or after a specified page. You can send this message explicitly or by using the PropSheet_InsertPage macro.
PSM_ISDIALOGMESSAGE Passes a message to a property sheet dialog box and indicates whether the dialog box processed the message. You can send this message explicitly or by using the PropSheet_IsDialogMessage macro.
PSM_PAGETOINDEX Takes the HPROPSHEETPAGE handle of the property sheet page and returns its zero-based index. You can send this message explicitly or use the PropSheet_PageToIndex macro.
PSM_PRESSBUTTON Simulates the selection of a property sheet button. You can send this message explicitly or by using the PropSheet_PressButton macro.
PSM_QUERYSIBLINGS Sent to a property sheet, which then forwards the message to each of its pages. You can send this message explicitly or by using the PropSheet_QuerySiblings macro.
PSM_REBOOTSYSTEM Indicates the system needs to be restarted for the changes to take effect. You can send the PSM_REBOOTSYSTEM message explicitly or by using the PropSheet_RebootSystem macro.
PSM_RECALCPAGESIZES Recalculates the page size of a standard or wizard property sheet after pages have been added or removed. You can send this message explicitly or use the PropSheet_RecalcPageSizes macro.
PSM_REMOVEPAGE Removes a page from a property sheet. You can send this message explicitly or by using the PropSheet_RemovePage macro.
PSM_RESTARTWINDOWS Indicates that Windows needs to be restarted for the changes to take effect.
PSM_SETBUTTONTEXT Sets the text on a button in an Aero wizard. You can send this message explicitly or by using the PropSheet_SetButtonText macro.
PSM_SETCURSEL Activates the specified page in a property sheet. You can send this message explicitly or by using the PropSheet_SetCurSel macro.
PSM_SETCURSELID Activates the given page in a property sheet based on the resource identifier of the page. You can send this message explicitly or by using the PropSheet_SetCurSelByID macro.
PSM_SETFINISHTEXT Sets the text of the Finish button in a wizard, shows and enables the button, and hides the Next and Back buttons. You can send this message explicitly or by using the PropSheet_SetFinishText macro.
PSM_SETHEADERBITMAP This message is not implemented.
PSM_SETHEADERBITMAPRESOURCE This message is not implemented.
PSM_SETHEADERSUBTITLE Sets the subtitle text for the header of a wizard's interior page. You can send this message explicitly or use the PropSheet_SetHeaderSubTitle macro.
PSM_SETHEADERTITLE Sets the title text for the header of a wizard's interior page. You can send this message explicitly or use the PropSheet_SetHeaderTitle macro.
PSM_SETNEXTTEXT Sets the text of the Next button in a wizard. You can send this message explicitly or by using the PropSheet_SetNextText macro.
PSM_SETTITLE Sets the title of a property sheet. You can send this message explicitly or by using the PropSheet_SetTitle macro.
PSM_SETWIZBUTTONS Enables or disables the Back, Next, and Finish buttons in a wizard. You can also use the PropSheet_SetWizButtons macro to post the message.
PSM_SHOWWIZBUTTONS Shows or hides buttons in a wizard. You can send this message explicitly or by using the PropSheet_ShowWizButtons macro.
PSM_UNCHANGED Informs a property sheet that information in a page has reverted to the previously saved state. You can send this message explicitly or by using the PropSheet_UnChanged macro.

Notifications

Topic Contents
PSN_APPLY Sent to every page in the property sheet to indicate that the user has clicked the OK, Close, or Apply button and wants all changes to take effect. This notification is sent in the form of a WM_NOTIFY message.
PSN_GETOBJECT Sent by a property sheet to request a drop target object when the cursor passes over one of the tab control's buttons.
PSN_HELP Notifies a page that the user has clicked the Help button. This notification code is sent in the form of a WM_NOTIFY message.
PSN_KILLACTIVE Notifies a page that it is about to lose activation either because another page is being activated or the user has clicked the OK button. This notification code is sent in the form of a WM_NOTIFY message.
PSN_QUERYCANCEL Indicates that the user has canceled the property sheet. This notification code is sent in the form of a WM_NOTIFY message.
PSN_QUERYINITIALFOCUS Sent by a property sheet to provide a property sheet page an opportunity to specify which dialog box control should receive the initial focus. This notification is sent in the form of a WM_NOTIFY message.
PSN_RESET Notifies a page that the property sheet is about to be destroyed. This notification code is sent in the form of a WM_NOTIFY message.
PSN_SETACTIVE Notifies a page that it is about to be activated. This notification code is sent in the form of a WM_NOTIFY message.
PSN_TRANSLATEACCELERATOR Notifies a property sheet that a keyboard message has been received. It provides the page an opportunity to do private keyboard accelerator translation. This notification is sent in the form of a WM_NOTIFY message.
PSN_WIZBACK Notifies a page that the user has clicked the Back button in a wizard. This notification code is sent in the form of a WM_NOTIFY message.
PSN_WIZFINISH Notifies a page that the user has clicked the Finish button in a wizard. This notification code is sent in the form of a WM_NOTIFY message.
PSN_WIZNEXT Notifies a page that the user has clicked the Next button in a wizard. This notification code is sent in the form of a WM_NOTIFY message.

Structures

Topic Contents
PROPSHEETHEADER Defines the frame and pages of a property sheet.
PROPSHEETPAGE Defines a page in a property sheet.
PSHNOTIFY Contains information for the property sheet notification codes.