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++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 39 - Инициализация переменных в конструкторе / Диалоговые окна / Visual C++

Шаг 39 - Инициализация переменных в конструкторе

Итак, данные можно инициализировать в конструкторе объекта диалога. Конечно, если элементы управления были связаны с переменными используя DDX. Есть диалог с двумя элементами редактирования и есть пункт меню, который вызывает этот диалог.

void CTest6Doc::OnTestTest() 
{
	CMyDialog cm;
	cm.DoModal(); 
}

Мы с Вами проведем начальную инициализация в конструкторе диалога:

CMyDialog::CMyDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CMyDialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMyDialog)
	m_Ed1 = _T("Hello");
	m_Ed2 = _T("Word");
	//}}AFX_DATA_INIT
}

Запустим и посмотрим:

39_1.gif (3563 b)

Отлично данные поместились в диалог. Но вот есть тонкость одна. Сейчас Вы можете открывать и закрывать диалог. Можете менять данные и нажимать ОK. При запуске данные будут всегда новые, так как каждый раз объект диалога создается заново. А вот если есть объект в описании класса документа:

class CTest6Doc : public CDocument
{
protected: // create from serialization only
	CTest6Doc();
	DECLARE_DYNCREATE(CTest6Doc)

// Attributes
public:
	CMyDialog cm;
// Operations
public:
........
}

void CTest6Doc::OnTestTest() 
{
	cm.DoModal(); 
}

То теперь данные будут сохраняться после нажатия на кнопку OK.


| |
Автор Каев Артем.
[AD]