Generally, I use the following structure when I deal with PropertySheet
Works well.
Code example creates a property sheet styled dialog, in my case it is handled in CMainFrame class but you could equally handle it in View or Document
void CMainFrame::OnOptions()
{
CPropertySheet psheet;
CPropPage1 p1;
CPropPage2 p2;
p1.Init();
p2.Init();
psheet.SetTitle("My Options",0);
psheet.AddPage(&p1);
psheet.AddPage(&p2);
if (psheet.DoModal() == IDOK)
{
p1.PostProcessing();
p2.PostProcessing();
}
}