Интернет-журнал "Домашняя лаборатория", 2007 №1
Шрифт:
• Выберете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard
• Используйте диалоговую панель ClassWizard для выбора следующего события:
Class Name: CTestDIg
Object ID: IDC_TEST_BUTTON
Messages: BN_CLICKED
• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.
• Нажмите кнопку Edit Code и напишите
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); обновляет экран, т. е. сообщает переменным диалогового окна текущие их значения.
При нажатии на кнопку Clear программа Test.Exe должна стирать текст из окна редактирования.
• Чтобы связать код с событием BN_CLICKED кнопки Clear, выполните следующие действия:
• Выбирете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard
• Используйте диалоговую панель ClassWizard для выбора следующего события:
Class Name: CTestDIg
Object ID: IDC_CLEAR_BUTTON
Messages: BN_CLICKED
• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.
• Нажмите кнопку Edit Code и напишите следующий код в функции OnClearButton:
void CTestDIg::OndearButton
{
// TODO: Add your control notification handier code here
////////Мой код начинается здесь///////////
///Присвоить переменной окна редактирования IDC_ TEST_EDIT значение NULL.
m_TestEdit=" ";
//// Обновить экран
UpdateData(FALSE);
////////Мой код заканчивается здесь///////////
}
• Код, который вы ввели содержит два оператора:
• Первый присваивает переменной m_TestEdit типа CString значение NULL, т. е. окно редактирования не будет содержать никакого текста.
• А второй оператор UpdateData(FALSE); обновляет экран, т. е. сообщает переменным диалогового окна текущие их значения.
• Теперь сохраните свою работу, выбрав Save All в меню File.
• Чтобы увидеть в действии код программы выполните и запустите ее.
• Напишите что-нибудь в окне редактирования.
• Щелкните на кнопку Clear, вы видите что текст стирается.
• Теперь нажмите на кнопку Test в окне редактирования появится текст This is a Test.
• Если все это выполняется, значит вы совершенно правильно связали события с кнопками Test и Clear.
При включении флажка Visible программа Test.Exe должна сделать окно редактирования невидимым, а при выключении — наоборот.
• Чтобы связать код с событием BN_CLICKED флажка Visible, выполните следующие действия:
• Выберете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard
• Используйте диалоговую панель ClassWizard для выбора следующего события:
Class Name: CTestDIg
Object ID: IDC_VISIBLE_CHECK
Messages: BN_CLICKED
• Щелкните на кнопку Add Fucntion и в раскрывшемся окне нажмите кнопку ОК.
Нажмите кнопку Edit Code и напишите следующий код в функции OnVisibleButton:
void CTestDIg::OnVsibieCheck
{
// TODO: Add your control notification handler code here
////////Мой код начинается здесь///////////
////Обновить значения переменных элементов управления,
////(содержимое экрана передается переменным элементов управления) UpdateData(TRUE);
///Если отметка флажка Visible зделать окно редактирования видимым
///А если нет — то невидимым if(m_ VisibleCheck==TRUE)
GetDigItem(IDC_TEST_EDIT)->ShowWindow(SW_SHOW);
else
GetDigItem(IDC_TEST_EDIT)->ShowWindow(SW_HIDE);
////////Мой код начинается здесь///////////
}
• Код который вы ввели содержит следующие операторы:
• UpdateData(TRUE); — этот оператор обновляет значения переменных элементов управления текущими значениями, которые содержаться на экране. Т. е. при нажатии на флажок переменная может принимать два значения TRUE или FALSE, TRUE — это когда флажок включен, a FASLE — наоборот. Значит при выполнении этого оператора переменная флажка управления принимает текущее положение флажка и все остальные переменные обновляются значениями, которые отображаются на экране.