Шаг 87 - Массив диалогов или Wizard своими руками дальше.

Теперь создадим класс который будет отвечать за показ диалогов.

87_1.gif (2303 b)

В нем мы используем 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();
	CArray arrayDialog;
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;
}
 
}

Можно запускать. Вот один из моментов работы программы.

87_2.gif (3696 b)

Полный код в проекте.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 10.07.2002