Категории
Самые читаемые
PochitayKnigi » Разная литература » Газеты и журналы » Интернет-журнал 'Домашняя лаборатория', 2007 №1 - Журнал «Домашняя лаборатория»

Интернет-журнал 'Домашняя лаборатория', 2007 №1 - Журнал «Домашняя лаборатория»

Читать онлайн Интернет-журнал 'Домашняя лаборатория', 2007 №1 - Журнал «Домашняя лаборатория»

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 148 149 150 151 152 153 154 155 156 ... 168
Перейти на страницу:
выберете в закладке 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

• Используйте диалоговую панель 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.

Связывание кода с событием BN_CLICKED флажка Visible

При включении флажка 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);

///Если

1 ... 148 149 150 151 152 153 154 155 156 ... 168
Перейти на страницу:
Тут вы можете бесплатно читать книгу Интернет-журнал 'Домашняя лаборатория', 2007 №1 - Журнал «Домашняя лаборатория».
Комментарии