Теперь создадим класс который будет отвечать за показ диалогов.
В нем мы используем CArray.
#include "afxtempl.h" #include "resource.h" #include "DialogWiz1.h" #include "DialogWiz2.h" #include "DialogWiz3.h" #include "DialogWiz4.h" class CArrayDialog { public: void Run(); CArrayDialog(); virtual ~CArrayDialog(); CArrayarrayDialog; private: CDialogWiz1 cd1; CDialogWiz2 cd2; CDialogWiz3 cd3; CDialogWiz4 cd4; };
Мы создали экземпляры классов, описали массив и функцию Run которая запускает диалог. В конструкторе добавляем диалоге в массив.
CArrayDialog::CArrayDialog() { arrayDialog.Add(&cd1); arrayDialog.Add(&cd2); arrayDialog.Add(&cd3); arrayDialog.Add(&cd4); }
По Run показываем.
void CArrayDialog::Run() { for (int x=0;x<arrayDialog.GetSize();x++) { int i=arrayDialog[x]->DoModal(); if (i==IDC_BUTTON_PREV) { x=x-2; } if (i==IDCANCEL) break; } }
Можно запускать. Вот один из моментов работы программы.
Полный код в проекте.