Шаг 40 - Инициализация переменных в OnIintDialog

В прошлом шаге мы с Вами размещали инициализацию в конструкторе. Как Вы могли увидеть будет ли проводиться инициализация при запуске диалогового окна зависит от местонахождения объекта диалога. OnIintDialog позволяет избежать этой проблемы, так как вызывается каждый раз при запуске диалога. Нам нужно перегрузить эту функцию. Выбираем обработку сообщений Windows.

40_1.gif (3417 b)

Потом сообщение WM_INITDIALOG:

40_2.gif (7554 b)

В результате у нас добавится функция OnInitDialog.

40_3.gif (1437 b)

И теперь нужно написать код инициализации.

BOOL CMyDialog::OnInitDialog() 
{
	m_Ed1 = _T("Hello");
	m_Ed2 = _T("Word");

	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	
	return TRUE;	// return TRUE unless you set the focus to a control
				// EXCEPTION: OCX Property Pages should return FALSE
}

Обратите внимание, что я написал код до вызова CDialog::OnInitDialog(), так как в этот момент произойдет передача данных в элемент управления.


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