# IPropertyPage

The IPropertyPage interface provides the main features of a property page object that manages a particular page within a property sheet. A property page implements at least IPropertyPage and can optionally implement IPropertyPage2 if selection of a specific property is supported. See IPerPropertyBrowsing::MapPropertyToPage for more information on specific property browsing. The methods of IPropertyPage2 allow the property sheet or property frame to instruct the page when to perform specific actions, mostly based on user input such as switching between pages or pressing various buttons that the frame itself manages in the dialog box.

A property page manages a dialog box that contains only those controls that should be displayed for that one page within the property sheet itself. This means that the dialog box template used to define the page should only carry the WS_CHILD style and no others. It should not include any style related to a frame, caption, or system menus or controls.

##### When to Implement

Implement this interface on a property page object.

##### When to Use

Use this interface to manage a property page object. Typically, this method is called within the OLE-supplied property frame created through OleCreatePropertyFrame or OleCreatePropertyFrameIndirect. Using the methods in this interface, the frame can display the properties and process end-user changes to the property values.

Methods in Vtable Order

IUnknown Methods | Description
QueryInterface | Returns pointers to supported interfaces.
AddRef | Increments reference count.
Release | Decrements reference count.

IPropertyPage Methods | Description
SetPageSite | Initializes a property page and provides the page with a pointer to the IPropertyPageSite interface through which the property page communicates with the property frame.
Activate | Creates the dialog box window for the property page.
Deactivate | Destroys the window created with Activate.
GetPageInfo | Returns information about the property page.
SetObjects | Provides the property page with an array of IUnknown pointers for objects associated with this property page.
Show | Makes the property page dialog box visible or invisible.
Move | Positions and resizes the property page dialog box within the frame.
IsPageDirty | Indicates whether the property page has changed since activated or since the most recent call to Apply.
Apply | Applies current property page values to underlying objects specified through SetObjects.
Help | Invokes help in response to end-user request.
TranslateAccelerator | Provides a pointer to a MSG structure that specifies a keystroke to process.

See Also

IPerPropertyBrowsing, IPropertyPage2, IPropertyPageSite, ISpecifyPropertyPages, OleCreatePropertyFrame, OleCreatePropertyFrameIndirect