Рассмотрим его:
• Member Varible Name — название переменной, с которой вы хотите связать элемент управления.
• Category — здесь вы можете выбрать категорию переменной. К примеру, Value — это категория переменной, предназначенная для передачи значения переменной Control — а это категория предназначена для управления элементами. К примеру, с помощью переменной такой категории можно менять названия кнопок, добавлять строки в ListBox и многое др.
• Varible Туре — это тип переменной.
В Member Varible Name зададим название — m_TestEdit и нажмем кнопку ОК.
Вы связали окно редактирования с переменной m_TestEdit, с помощью которой вы получите доступ к окну редактирования.
Теперь свяжем флажки с переменными, для этого выберем в Member Varible идентификатор IDC_ENABLE_CHECK и нажмем на кнопку Add Varible. Зададим название переменной — m_EnableCheck. Посмотрите, эта переменная имеет категорию Value и тип BOOL. Переменная типа BOOL может принимать два значения TRUE и FALSE. TRUE — правда, a FALSE — ложь. Если флажок отмечен, то переменная будет иметь значения TRUE, а если нет — FALSE.
Теперь выберете в закладке Member Varible идентификатор IDC_VISIBLE_CHECK и нажмем на кнопку Add Varible. Зададим название переменной — m_VisibleCheck.
Вы закончили связывание переменных с окном редактирования и флажками
Связывание событий с элементами управления
Код, инициализирующий окно редактирования
• При запуске программы, основанную на диалоге, вам нужно установить определенные значения некоторых элементов управления. Вам необходимо, чтобы флажки Visible и Enable были отмечены, иначе окна редактирования не будет видно. Для этого выполните следующие действия:
• Зайдите в View->ClassWizard,откройте закладку Message Maps.
• В Message IDs выберете CTestDIg, в Messages появится список событий, с которыми может быть связано диалоговое окно. Выберете там событие WM_INITDIALOG. Оно происходит, когда запускается программа и инициализируется диалоговое окно.
• Щелкнете на кнопку Add Function, а затем нажмите на кнопку Edit Code, для редактирования исходного кода.
Функция OnlnitDialog() уже содержит часть кода написанного VC++. Найдите в нем коментарий //TODO: Add extra initialization here, который сообщает нам, что после него мы можем добавить свой код.
Напишите следующий код в функции OnlnitDialog():
BOOL CTestDIg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
//Добавьте свою инициализацию
////////Мой код начинается здесь///////////
//Установить переменную флажка VisibleCheck и EnabledCheck в состояние
//TRUE
m_VisibieCheck=TRUE;
m_EnabieCheck=TRUE;
//Обновить экран UpdateData(FALSE);
////////Мой код заканчивается здесь///////////
return TRUE; // Вернуть TRUE, если только вы не установили фокус на элемент управления
}
• Рассмотрим код:
• Первый и второй операторы, который которые вы ввели присваивают переменным m_VisibleCheck и m_EnableCheck значение TRUE. Это означает, что при запуске программы флажки будут отмечены.
• Последний оператор UpdateData(FALSE) обновляет экран, т. е. он обновляет значения переменных элементов управления на текущие. В нашем случае, при выполнении этого оператора текущие содержимое переменных связанных с флажками будет передано к ним.
• Теперь для того, чтобы посмотреть инициализирующий код в действии выполните программу.
Главное окно вашей программы должно будет выглядеть так:
Флажки должны быть отмечены.
Связывание кода с событием BN_CLICKED кнопки Exit
При нажатии на кнопку Exit программа Test.Exe завершится.
Чтобы связать код с событием BN_CLICKED кнопки EXIT, выполните следующие действия:
• Выберете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard
• Используйте диалоговую панель ClassWizard для выбора следующего события:
Class Name: CTestDIg
Object ID: IDC_EXIT_BUTTON
Messages: BN_CLICKED
• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.
• Сейчас ваша панель MFC ClassWizard должна будет выглядеть так:
• Нажмите кнопку Edit Code и напишите следующий код в функции OnExitButton():
void CTestDig "OnExitButton ()
{
// TODO: Add your control notification handler code here
////////Мой код начинается здесь///////////
ОnОК();
////////Мой код заканчивается здесь///////////
}
• Функция ОnОК(), которую вы ввели завершает программу, при нажатии на кнопку Exit.
Связывание кода с событием BN_CLICKED кнопки Test
При нажатии на кнопку Test программа Test.Exe в окне редактирования напишет текст: This is a Test
Чтобы связать код с событием BN_CLICKED кнопки Test, выполните следующие действия:
• Выберете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard
• Используйте диалоговую панель ClassWizard для выбора следующего события:
Class Name: CTestDIg
Object ID: IDC_TEST_BUTTON
Messages: BN_CLICKED
• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.
• Нажмите кнопку Edit Code и напишите следующий код в функции OnTestButton():
void CTestDig::OnTestButton()
{
// TODO: Add your control notification handier code here
////////Мой код начинается здесь///////////
///Присвоить переменной окна редактирования IDC_ TEST_EDITзначение This is a Test.
m_TestEdit="This is a Test";
//// Обновить экран UpdateData(FALSE);
////////Мой код заканчивается здесь///////////
}
• Код, который вы ввели содержит два оператора:
• Первый присваивает переменной m_TestEdit типа CString значение This is a Test.
• А второй оператор UpdateData(FALSE); обновляет экран, т. е. сообщает переменным диалогового окна текущие их значения.
Связывание кода с событием BN_CLICKED кнопки Clear
При нажатии на кнопку Clear программа Test.Exe должна стирать текст из окна редактирования.
• Чтобы связать код с событием BN_CLICKED кнопки Clear, выполните следующие действия:
• Выбирете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard