BiVANT Книги К началу главы |
В.А. Биллиг, И.Х.
Мусикаев
Visual C++ 4 версия
Книга для программистов.
"Русская редакция", 1997 г.
Глава 1(4)
Описание
реакций на события
Итак, первый этап создания приложения —
проектирование интерфейса — закончен.
Теперь нужно определить реакцию
построенных объектов на возникающие события.
Когда спроектированное диалоговое окно
появится на экране, пользователь может
выполнять некоторые действия, в частности,
щелкать кнопки Вы
и Компьютер.
Вам предстоит описать реакцию на события,
соответствующие этим действиям. Напомним:
по нашему сценарию, объекты по-разному
реагируют на щелчки. Если начать с
компьютера, он промолчит. Объект You в ответ
на щелчок кнопки Вы
ведет себя "по-человечески" и
здоровается. Компьютер
продолжает молчать. Второй и третий щелчок
кнопки Вы
приводит к выводу новых сообщений. На
третий раз Компьютер
"обретает голос": отзывается и выдает
совет дня: "Никогда не разговаривайте с
неизвестными!".
После этого начинается новый этап во
взаимоотношениях. Окно объекта You служит
теперь для ввода имени пользователя. Объект
Computer принимает это имя и вежливо
здоровается.
Давайте напишем код, реализующий наш
сценарий, а заодно познакомимся с ClassWizard.,
который поможет в этой работе.
Находясь в диалоговом окне, щелкните
правую кнопку мыши и из контекстного меню
вызовите ClassWizard..
В окне ClassWizard. щелкните вкладку (tab) Message
Maps и в окне Object
IDs
из списка идентификаторов
выберите идентификатор IDC_You,
соответствующий кнопке Вы.
Этот объект может получать два сообщения
— BN_CLICKED и BN_DOUBLECLICKED, показанные в окне Messages
(см.
рис. 1.5).
{ Рис.1.5
Окно ClassWizard. с
выбранной вкладкой Message
Maps.}
Сообщения BN_CLICKED и BN_DOUBLECLICKED
приходят, когда возникает соответствующее событие
— одинарный или двойной щелчок кнопки.
Обработка сообщений пока выключена.
Выделите первое из них и щелкните Add
Function (добавить функцию). ClassWizard.
предложит создать функцию
обработки этого сообщения с именем OnYou. В
знак согласия щелкните OK.
Когда ClassWizard. создаст остов
функции, тут же можно, щелкнув кнопку Edit
Code (редактировать код), перейти к
редактированию ее кода, добавляя нужные Вам
свойства. Но не будем спешить и отложим эту
важную работу до завершения второго этапа.
Повторите все действия для кнопки Компьютер
и создайте для нее остов функции OnComp,
обрабатывающей нажатие кнопки.
Следующий этап работы с ClassWizard.
— связывание окон редактирования с
переменными класса CHelloDlg. Для этого выберем
в окне ClassWizard.
вкладку Member Variables (переменные-члены). Из
списка идентификаторов выберем IDC_EDYou,
соответствующий окну редактированию You.
Щелкнув Add
Variables (добавить переменные), в
появившемся диалоговом окне задайте имя
переменной m_You, ее категорию
Control и тип
CEdit (см. рис.1.6).