В MFC есть стандартные возможности по созданию волшебников. Нужно добавить ресурсы диалога. Кстати есть стандартный шаблон диалога.
Эти диалоги нужно связать с классами CPropertyPage:
class CPr1 : public CPropertyPage { DECLARE_DYNCREATE(CPr1) // Construction public: CPr1(); ~CPr1(); // Dialog Data //{{AFX_DATA(CPr1) enum { IDD = IDD_PROPPAGE_SMALL2 }; // NOTE - ClassWizard will add data members here. // DO NOT EDIT what you see in these blocks of generated code ! //}}AFX_DATA ....... };
Сделать это можно автоматически, только выбрав не СDialog, а CPropertyPage как общий класс. А дальше совсем просто, нужно создать объект, передать их в класс CPropertySheet и вызвать мастера.
void CTestPreDoc::OnTestWizard() { CPr1 pr1; CPr2 pr2; CPr3 pr3; CPropertySheet cw; cw.AddPage(&pr3); cw.AddPage(&pr2); cw.AddPage(&pr1); cw.SetWizardMode(); cw.DoModal(); }
На диалог будут автоматически добавлены кнопки "вперед", "назад":