PropSheet_RemovePage macro

Removes a page from a property sheet. You can use this macro or send the PSM_REMOVEPAGE message explicitly.


VOID PropSheet_RemovePage(
   HWND           hPropSheetDlg,
   int            index,



Type: HWND

Handle to the property sheet.


Type: int

Zero-based index of the page to be removed.



Handle to the page to be removed.

Return value

No return value.


An application can specify the page to be removed by assigning a value to either index or hpage. If values are assigned to both index and hpage, hpage takes precedence.

A number of messages and one function call occur while the property sheet is manipulating the list of pages. While this action is taking place, attempting to modify the list of pages will have unpredictable results. Accordingly, you should not use the PropSheet_RemovePage macro in your implementation of PropSheetPageProc or while handling the following notifications and Windows messages.

If you need to modify a property sheet page while you are handling one of these messages or while PropSheetPageProc is in operation, post yourself a private Windows message. Your application will not receive that message until after the property sheet manager has finished its tasks. Then you can modify the list of pages.

The following notifications are also affected by property sheet modification.

You can add or remove pages in response to these notifications, provided that you return (via DWL_MSGRESULT) a nonzero value to specify the desired new page. Note, however, that if you remove a page that is located before the current page (that has a smaller index than the current page), PSN_KILLACTIVE might be sent to the wrong page.

Note  This macro is not supported when using the Aero wizard style (PSH_AEROWIZARD).


Minimum supported client

Windows Vista [desktop apps only]

Minimum supported server

Windows Server 2003 [desktop apps only]