• Код который вы ввели содержит следующие операторы:
• UpdateData(TRUE); обновляет переменную m_TestEdit значением содержимого окна редактирования, при каждом его изменении, так как окно редактирования связано с событием EN_CHANGE.
• Следующий оператор CString UpperValue; создает новую переменную типа CString.
• Затем переменной UpperValue приравнивается значение переменной m_TestEdit, это можно сделать, так как они имеют одинаковый тип.
• Оператор UpperValue.MakeUpper(); переводит все символы переменной UpperValue в верхний регистр.
• Оператор if(UpperValue=="PAINT"); проверяет, если введено ли слово PAINT, то выполняются следующие три оператора:
Первый system("pbrush.exe"); запускает графический редактор, так как не указан явный путь к файлу, то программа будет искать его в каталоге C: \WINDOWS.
Второй оператор m_TestEdit=""; присваивает переменной окна редактирования значение NULL, а следующий оператор UpadteData(FALSE) — обновляет экран. Вследствие этого, весь текст из окна редактирования удалится.
• Заметьте, что мы перевели символы переменной UpperValue в верхний регистр — это нужно потому, что в языке C++ символы нижнего и верхнего регистра имеют разные значения, поэтому при переводе на верхний регистр, мы 100 % будем уверены, что написанное нами слово Paint совпадет с PAINT.
• Следующая конструкция операторов полностью идентична предыдущей, только проверяется равно ли значение переменной m_TestEdit слову CALCULATOR, если да, то запускается калькулятор, и окно редактирования очищается.
Вы закончили связывание событий с элементами управления
Резюме и Упражнение
Упражнение
Сейчас вы выполните упражнение. Вам необходимо включить в свою программу еще код, чтобы при вводе слова Веер в окне редактирования, компьютер подавал звуковой сигнал. Подсказка: Код для генерации сигнала MessageBeep((WORD)-2);
Ответ к упражнению
Для того, чтобы выполнить упражнение вам необходимо включить в конец функции OnChangeTestEdit следующий код:
if(UpperVatoe== "ВЕЕР")
{
MessageBeep((WORD)-2);
m_ TestEdit=
UpdateData(FALSE);
}
Резюме
В этой главе вы получили некоторой опыт использования элементов управления и написали программу, которая имеет такие элементы управления, как окно редактирования, флажок и кнопка.
Вы также увидели процесс написания программы, использующей различные средства управления, который состоит в размещении элемента управления в диалоговой панели, настройки его свойств и связывания кода с событием данного элемента.
Теперь выполняем программу, для этого заходим в меню Build->Build Test.exe, а потом в меню Build выбираем Execute Test.exe
Вы закончили второй урок!
LESSON 3
Сейчас мы создадим программу DRAW.EXE Посмотрим на ее спецификацию и что она должна делать.
• Программа DRAW предназначена для рисования с помощью мыши линий установленного цвета и размера, программа будет рисовать линию в соответствии с движениями мыши.
• При нажатии на кнопку Exit программа завершается.
При запуске вашей программы, главное окно должно будет выглядеть так:
План урока:
1) Создание проекта программы
2) Визуальное проектирование диалоговой панели
3) Связывание элементов управления с событиями
4) Резюме, Упражнение и ответ к упражнению.
Теперь рассмотрим все пункты по порядку.
• Вначале запустим Visual C++. Зайдем в меню FILE —> NEW…, выберем там Project. Ваша панель должна выглядеть теперь так:
• Выберем там MFC AppWizard(exe), это значит вы хотите создать запускаемый файл.
• В Project Name задайте имя программы Draw. И щелкните ОК.
• В раскрывшемся окне (SТЕР1) выберете Dialog Based. Это означает, что ваша программа будет основана на диалоге. Щелкните Next.
• В STEP2 задайте в Please enter title of your dialog имя программы The Draw Program.
Остальное оставьте без изменения и нажмите NEXT.
• В STEP3 Оставьте все без изменения и щелкните NEXT. Здесь вы указали, что ваша программа будет иметь библиотеку с динамической компоновкой (DLL), а не статической.
• В STEP4 Оставьте все без изменения. Посмотрите, чтобы в Class Name было выбрано CTestApp и щелкните FINISH.
Вы закончили создание проекта программы!
Все каркасные файлы для вашей программы написал Visual C++, с помощью мастера настроек MFC AppWizard.
MFC — это вещь очень полезная, с помощью нее можно быстро создавать программы, так как все дежурные файлы он пишет сам, что сильно облегчает работу программиста, ведь не писать стандартный набор текста каждый раз!
А теперь мы спроектируем диалоговую панель.
Проектирование диалоговой панели
Сейчас мы визуально спроектируем диалоговую панель. Для этого вначале выберете закладку "Resourse View" и раскройте пункт Draw Resource, как показано на рис. 1.5.
Выполните следующие действия
• Щелкните два раза по надписи IDD_DRAW_DIALOG. Справа появится окно проектирования диалоговой панели.
• С помощью панели Controls расставьте элементы, управления как показано на рис. 2.0 и согласно таблице 2.0.
Теперь рассмотрим все пункты по порядку.
• В объекте Dialog Box вы задаете следующие данные:
Caption — название диалогового окна.
Font — здесь вы установили шрифт — System и его размер 10
• Static Text — это элемент текста, он вставляется как обычный элемент управления, но не выполняет никаких функций, так как служит для показа текста, который вы зададите в Captions. Так же мы задали некоторые графические установки для статистического текста — это Client Edge и Static Edge. Поздравляю, вы закончили визуальное проектирование диалоговой панели!
Связывание событий с элементами управления
Связывание кода с событием BN_CLICKED кнопки Exit
При нажатии на кнопку Exit программа Draw.Exe завершится.
• Чтобы связать код с событием BN_CLICKED кнопки EXIT, выполните следующие действия:
• Выберете ClassWizard в меню View
• Выберете закладку Message Maps в панели ClassWizard
• Используйте диалоговую панель ClassWizard для выбора следующего события:
Class Name: CDrawDIg
Object ID: IDC_EXIT_BUTTON