Добавить в цитаты Настройки чтения

Страница 136 из 150

• Код который вы ввели содержит следующие операторы:

• 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

Вы закончили второй урок!

Сейчас мы создадим программу 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