If you go to the CPropertySheet Overview in the Help for the Class, at the very bottom there is a link to "For more information on how to use CPropertySheet objects, see the article Property Sheets in Programming with MFC". The following is that file....



The Microsoft Foundation Class Library (MFC) contains support for property sheets, also known as tab dialog boxes. This article explains how and when to use property sheets in your MFC applications. Topics include:
	Using property sheets in your application
	Adding controls to a property sheet
  
A property sheet is a special kind of dialog box that is generally used to modify the attributes of some external object, such as the current selection in a view. The property sheet has three main parts: the containing dialog box, one or more property pages shown one at a time, and a tab at the top of each page that the user clicks to select that page. Property sheets are useful for situations where you have a number of similar groups of settings or options to change. An example of a property sheet is the Project Settings dialog box in Microsoft Developer Studio. In this case, there are a number of different groups of options that need to be set. The property sheet allows a large amount of information to be grouped in an easily understood fashion.
Using Property Sheets in Your Application
To use a property sheet in your application, complete the following steps:
 1.	Create a dialog template resource for each property page. Keep in mind that the user may be switching from one page to another, so lay out each page as consistently as possible.
	The dialog templates for all pages do not have to be the same size. The framework uses the size of the largest page to determine how much space to allocate in the property sheet for the property pages.
	When you create the dialog template resource for a property page, you must specify the following styles in the Dialog Properties property sheet:
	Set the Caption edit box on the General page to the text you wish to appear in the tab for this page.
	Set the Style list box on the Styles page to Child.
	Set the Border list box on the Styles page to Thin.
	Ensure that the Titlebar check box on the Styles page is checked.
	Ensure that the Disabled check box on the More Styles page is checked.
  
 2.	Use ClassWizard to create a CPropertyPage-derived class corresponding to each property page dialog template. To do this, choose ClassWizard from the View menu while the focus is on a particular property page dialog box. Choose CPropertyPage as the base class in ClassWizard.
 3.	Using ClassWizard, create member variables to hold the values for this property page. The process for adding member variables to a property page is exactly the same as adding member variables to a dialog box, since a property page is a specialized dialog box.
 4.	Construct a CPropertySheet object in your source code. Usually, you construct the CPropertySheet object in the handler for the command that displays the property sheet. This object represents the entire property sheet. If you create a modal property sheet with the DoModal function, the framework supplies three pushbuttons by default: OK, Cancel, and Apply. The framework creates no pushbuttons for modeless property sheets created with the Create function. You do not need to derive a class from CPropertySheet unless you want to either add other controls (such as a preview window) or display a modeless property sheet. This step is necessary for modeless property sheets since they do not contain any default controls that could be used to close the property sheet.
 5.	For each page to be added to the property sheet, do the following:
	Construct one object for each CPropertyPage-derived class that you created using ClassWizard earlier in this process.
	Call CPropertySheet::AddPage for each page.
  
	Typically, the object that creates the CPropertySheet also creates the CPropertyPage objects in this step. However, if you implement a CPropertySheet-derived class, you can embed the CPropertyPage objects in the CPropertySheet object and call AddPage for each page from the CPropertySheet-derived class constructor. AddPage adds the CPropertyPage object to the property sheets list of pages but does not actually create the window for that page. Therefore, it is not necessary to wait until creation of the property sheet window to call AddPage; you can call AddPage from the property sheets constructor.
 6.	Call CPropertySheet::DoModal or Create to display the property sheet. Call DoModal to create a property sheet as a modal dialog box. Call Create to create the property sheet as a modeless dialog box.
 7.	Exchange data between property pages and the owner of the property sheet. This is explained in the article Property Sheets: Exchanging Data. 
  
For an example of how to use property sheets, see the MFC General sample PROPDLG.
Adding Controls to a Property Sheet
By default, a property sheet allocates window area for the property pages, the tab index, and the OK, Cancel, and Apply buttons. (A modeless property sheet does not have the OK, Cancel, and Apply buttons.) You can add other controls to the property sheet. For example, you can add a preview window to the right of the property page area, to show the user what the current settings would look like if applied to an external object.
You can add controls to the property sheet dialog in the OnCreate handler. Accommodating additional controls usually requires expanding the size of the property sheet dialog. After calling the base class CPropertySheet::OnCreate, call GetWindowRect to get the width and height of the currently allocated property sheet window, expand the rectangles dimensions, and call MoveWindow to change the size of the property sheet window. 
For more information on property sheets, see the following articles:
	Property Sheets: Exchanging Data
	Property Sheets: Creating a Modeless Property Sheet
	Property Sheets: Handling the Apply Button
  

 
