C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  Update World C++: Сборник GPL QT исходников
  Весь сайт целиком можно загрузить по ссылкам из раздела Скачать

 87 - Массив диалогов или Wizard своими руками дальше / Диалоговые окна / Visual C++

Шаг 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)

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


Загрузить проект | | |
Автор Каев Артем.
[AD]