- •Введение
- •Лабораторная работа №1
- •4.2. Общая структура программы.
- •4.3. Вывод строки на экран
- •4.4. Ввод с клавиатуры
- •4.5. Комментарии
- •4.7. Переменные
- •Управляющие символьные константы
- •4.8. Операторы
- •4.8.1 Арифметические операторы
- •Арифметические операторы
- •4.8.2 Операторы сравнения и логические операторы
- •Операторы сравнения и логические операторы
- •4.8.3 Побитовые операторы
- •Побитовые операторы
- •Лабораторная работа №2 Разработка программы с применением
- •1. Задание по работе
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4. Краткое описание
- •4.1. Оператор выражение
- •4.4.2. Оператор switch
- •4.5. Операторы перехода
- •4.5.1. Оператор break
- •4.5.2. Оператор continue
- •4.5.3. Оператор return
- •4.5.4. Оператор goto
- •4.6. Операторы цикла
- •4.6.1. Оператор for
- •4.6.2. Оператор while
- •4.6.3. Оператор do..While
- •Лабораторная работа №3 Разработка программы обработки массива
- •1. Задание по работе
- •2. Порядок выполнения работы
- •3. Содержание отчета
- •4. Краткое описание
- •4.1. Массивы
- •4.1.1. Инициализация массивов
- •4.2. Строки
- •4.3. Понятие функции
- •4.3.1. Определение функции
- •4.3.2. Класс памяти
- •4.3.3. Тип возвращаемого значения
- •4.3.4. Формальные параметры
- •4.3.5. Тело функции
- •4.3.6. Фактические параметры
- •4.3.7. Рекурсивные вызовы
- •4.3.8. Передача параметров
- •4.3.9. Библиотека стандартных функций
- •4.2. Проектирование диалоговой панели.
- •4.3. Связывание элементов управления
- •4.2. Создание меню программы
- •4.3. Проектирование диалоговой панели
- •4.4. Связывание событий с элементами управления
- •4.4.1. Связывание переменной с окном редактирования.
- •4.4.2. Связывание кода с событием en_change окна редактирования
- •4.4.3. Связывание кода с пунктом CurrentSpeed меню File
- •4.4.4. Связывание кода с пунктом About меню Help
- •Библиографический список
4.4. Связывание событий с элементами управления
4.4.1. Связывание переменной с окном редактирования.
Связывание переменной с окном редактирования это необходимо для того, чтобы иметь доступ к содержимому окна редактирования. Чтобы связать переменную с окном редактирования IDC_SPEED_EDIT необходимо выполнить следующие действия:
- выберем ClassWizard в меню View;
- выберем закладку Member Variables в панели ClassWizard;
- нажмем на кнопку Add Varible и задайте переменную следующим образом:
Varible Name: m_SpeedEdit
Category: Value
Varible Type: int
Теперь диалоговая панель MFC ClassWizard должна выглядеть, таким образом, как показано на рисунке 23.
Рис.23. Диалоговая панель MFC ClassWizard
Так как мы определили переменную m_SpeedEdit как переменную типа int, то можем задать максимальное и минимальное значение этой переменной.
4.4.2. Связывание кода с событием 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 будет присвоено значение содержимого окна редактирования.
4.4.3. Связывание кода с пунктом 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();
////Мой код заканчивается здесь////
}
Единственный оператор, который ввели, завершает работу программы.