Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Связывание кода с событием EN_CHANGE окна редактирования




Событие EN_CHANGE происходит каждый раз при изменении содержимого окна редактирования, это будет использоваться для того, чтобы при каждом изменении присваивалось новое значение переменной m_SpeedEdit. Чтобы связать код с событием EN_CHANGE, нужно выполнить следующие действия:

- выберем ClassWizard в меню View;

- выберем закладку Message Maps в панели ClassWizard;

- используем диалоговую панель ClassWizard для выбора следующего события:

Class Name: CSpeedDlg

Object ID: IDC_SPEED_EDIT

Messages: EN_CHANGE

Нажмем на кнопку Add Fucntion и в раскрывшемся окне нажмем кнопку OK.

Сейчас панель MFC ClassWizard должна будет выглядеть так, как показано на рисунке 24.

 

 

Рис.24. Диалоговая панель MFC ClassWizard

 

Далее нажмем кнопку Edit Code и напишем следующий код в функции OnChangeSpeedEdit():

void CSpeedDlg::OnChangeSpeedEdit()

{

// TODO: If this is a RICHEDIT control, the control will not

// send this notification unless you modify CDialog::OnInitDialog()

// function to send the EM_SETEVENTMASK message to the control

// with the ENM_CHANGE flag ORed into the lParam mask.

// TODO: Add your control notification handler code here

////Мой код начинается здесь////

//Обновить экран

UpdateData(TRUE);

////Мой код заканчивается здесь////

}

 

Единственный оператор, который обновляет переменные элементов управления, исходя из текущего содержимого диалогового окна:

UpdateData(TRUE);

Следовательно, после выполнения данного оператора переменной m_SpeedEdit будет присвоено значение содержимого окна редактирования.

 

Связывание кода с пунктом CurrentSpeed меню File

Сейчас свяжем код с событием COMMAND, которое возникает при выборе пункта меню, в данном случае при выборе пункта Current Speed.

Чтобы связать код с событием COMMAND, выполним следующие действия:

- откроем закладку Resource View, раскройте пункт Speed View, а там выберем Menu;

- выполним двойной щелчок по IDR_MENU1.

- выберем ClassWizard в меню View;

- выберем закладку Message Maps в панели ClassWizard.

Используем диалоговую панель ClassWizard для выбора следующего события:

Class Name: CSpeedDlg

Object ID: ID_FILE_CURRENTSPEED

Messages: COMMAND

Нажмем на кнопку Add Fucntion и в раскрывшемся окне нажмем кнопку OK. Далее нажмем кнопку Edit Code и напишем следующий код в функции OnFileCurrentspeed():

void CSpeedDlg::OnFileCurrentspeed()

{

// TODO: Add your command handler code here

////Мой код начинается здесь////

char strSpeed[100];

Itoa(m_SpeedEdit,strSpeed,10);

MessageBox(strSpeed);

////Мой код заканчивается здесь////

}

Первые два оператора, преобразуют в строку целое значение, хранящееся в переменной m_SpeedEdit:

char strSpeed[100]; itoa(m_SpeedEdit,strSpeed,10);

Последний оператор использует функцию MessageBox() для вывода значения строки, хранящееся в переменной strSpeed:

MessageBox(strSpeed);

Связывание кода с пунктом Exit меню File

Сейчас свяжем код с событием COMMAND, которое возникает при выборе пункта меню, в данном случае при выборе пункта Exit. Чтобы связать код с событием COMMAND, необходимо выполнить следующие действия. Необходимо открыть закладку Resource View, и пункт Speed View, а там выбрать Menu. Нажмем два раза левой клавишей мыши по IDR_MENU1.

После выполненных действий выберем ClassWizard в меню View и закладку Message Maps в панели ClassWizard и воспользуемся диалоговой панелью ClassWizard для выбора следующего события:

Class Name: CSpeedDlg

Object ID: ID_FILE_EXIT

Messages: COMMAND

Нажмем на кнопку Add Fucntion и в раскрывшемся окне кнопку OK.

Далее нажмем кнопку Edit Code и напишем следующий код в функции OnFileExit():

void CSpeedDlg::OnFileExit()

{

// TODO: Add your command handler code here

////Мой код начинается здесь////

OnOK();

////Мой код заканчивается здесь////

}

Единственный оператор, который ввели, завершает работу программы.

 





Поделиться с друзьями:


Дата добавления: 2016-12-06; Мы поможем в написании ваших работ!; просмотров: 532 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Начинать всегда стоит с того, что сеет сомнения. © Борис Стругацкий
==> читать все изречения...

2304 - | 2057 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.012 с.