Property Sheet Pages

Each page in a property sheet is an application-defined modeless dialog box that manages the controls that allow a user to view and edit the properties of an object. A property sheet must contain at least one property page, but cannot contain more than the value of MAXPROPPAGES as defined in the header files.

A property sheet sends notification messages to the dialog box procedure for a page when the page becomes active or inactive and when the user clicks the OK, Cancel (X), or Help (?) button. The notifications are sent in the form of WM_NOTIFY messages. The lParam parameter of the WM_NOTIFY messages points to an NMHDR structure, which includes the window handle of the property sheet dialog box.

Some notification messages require that a property sheet page to return either TRUE or FALSE in response to the WM_NOTIFY message. To respond, the page must use the SetWindowLong function to set the DWL_MSGRESULT value for the page dialog box to either TRUE or FALSE.

Note The dialog box procedure for a page must not call the EndDialog function. Doing so will destroy the entire property sheet, not just the page.

Each page has a corresponding label, which the property sheet displays in the tab that it creates for the page. Because all property sheet pages expect you to use a Roman font, not bold, you must ensure that the font is not bold by specifying the DS_3DLOOK style in the dialog box template.

Note Users access property sheets by using an ALT+Tap action. In Windows CE, use ALT+Tap for any operation for which you would use a right-click mouse event on a Windows-based desktop platform.