Шаг 47 - Управление данными с помощью DDX

Активизировать передачу данных в элементы управления или назад в переменные можно в любой момент времени. Вот мы этот механизм и помучаем. Создаем диалог на нем два элемента управления связанные с переменными механизмом DDX и две кнопки.

47_1.gif (4278 b)

В OnInitDialog проведем инициализацию:

BOOL CTest5Dlg::OnInitDialog()
{
	m_Ed1 ="Hello";
	m_Ed2 ="Word";
	CDialog::OnInitDialog();

......
};

У нас есть функция с именем UpdateData(), которая направляет поток данных в зависимости от переданного ей параметра.

47_2.gif (8208 b)

Пишем код для кнопок.

void CTest5Dlg::OnButton1() 
{
	UpdateData(TRUE);
}

void CTest5Dlg::OnButton2() 
{
	UpdateData(FALSE);	
}

А теперь пробуем изменить текст в первом элементе.

47_3.gif (3325 b)

И нажмем кнопку “В элементы”. Данные вернутся на свое место.

47_4.gif (3988 b)

Можете изменить и нажать "в переменные". Потом полностью в стереть и нажать "в элементы" и измененные данные вернутся. Тоже самое, то есть сохранение данных происходит при нажатии на OK, и именно эта функция вызывается. Используя этот метод Вы всегда можете создать кнопку Reset, которая вернет все к начальному состоянию в момент вызова диалога.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 29.06.2002