Следует обратить внимание на определение
Конструктор класса
Следует обратить внимание на определение конструктора класса CDlg. После названия конструктора стоит двоеточие и название конструктора класса
CDialog. При этом в качестве параметров ему передается идентификатор диалоговой панели и указатель на родителькое окно:
Основное назначение конструктора CDlg - вызвать конструктор класса
CDialog. Именно конструктор класса
CDialog выполняет создание диалоговой панели.
В теле конструктора расположен блок AFX_DATA_INIT. В него ClassWizard будет добавлять код инициализации элементов данных класса CDlg. В данное время там инициализируется переменная m_Str, входящая в класс CDlg, - в нее записывается строка текста. С этой переменной связано поле редактирования с идентификатором IDC_EDIT1. При помощи такой связи реализуется процесс обмена данными между элементами управления и переменными класса.
Метод OnInitDialog
При отображении диалоговой панели при помощи функций
DoModal (
Create или
CreateIndirect для немодальных диалогов), функция диалоговой панели передается сообщение
WM_INITDIALOG. Непосредственного доступа к функции диалога нет. Ее реализация содержится в классе
CDialog.
В ответ на сообщение
WM_INITDIALOG вызывается метод
OnInitDialog, объявленный как виртуальный метод класса
CDialog. Этот метод вызывается непосредственно перед выводом панели на экран.
Таблица сообщений класса CDlg не содержит макрокоманд для обработки сообщения
WM_INITDIALOG. Метод
OnInitDialog вызывается непосредственно MFC. Чтобы реализовать собственную обработку сообщения
WM_INITDIALOG, нужно просто переопределить метод
OnInitDialog.
Метод
OnInitDialog возвращает значение
TRUE. Это означает, что фокус ввода будет установлен на первый орган управления диалоговой панели. Первый орган диалоговой панели можно выбрать в редакторе диалоговой панели.
Если во время инициализации диалоговой панели метод
OnInitDialog устанавливает фокус ввода другому органу управления, метод должен вернуть значение FALSE.
Обмен данными диалога
Содержание Назад Вперед
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий