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 руб./мес


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




 38 - Как работает DDX / Диалоговые окна / Visual C++

Шаг 38 - Как работает DDX

Итак, DDX. Еще раз это механизм передачи данных от элемента управления к переменной и назад.

38_1.gif (5398 b)

Стандартный механизм DDX работает так. При создании объекта диалога производится начальная инициализация в конструкторе.

CTest5Dlg::CTest5Dlg(CWnd* pParent /*=NULL*/)
	: CDialog(CTest5Dlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CTest5Dlg)
	m_Ed1 = _T("");
	m_Ed2 = _T("");
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a 
	// subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

После этого при выводе диалога на экран производится подготовка в функции OnInitDialog перегруженного класса. А в момент вызова OnInitDialog базового класса производится передача данных в элементы управления.

BOOL CTest5Dlg::OnInitDialog()
{
	.......
	CDialog::OnInitDialog();
	.......
}

Вы можете править данные в элементе управления и ничего не будет происходить. Данные хранятся в элементе управления. Дальше два стандартных выхода. Либо нажать Cancel и тогда данные не будут перемещены в переменные, или вызвать OK. При вызове OK данные будут перемещены из элемента управления в переменные класса диалога.


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