BiVANT Книги К началу главы |
В.А. Биллиг, И.Х.
Мусикаев
Visual C++ 4 версия
Книга для программистов.
"Русская редакция", 1997 г.
Глава 1(6)
//(СДЕЛАТЬ: Добавьте здесь дополнительную
инициализацию).
После или вместо этого комментария
вставьте две строчки, задающие
инициализацию переменных:
Count = 0;
InviteDone = FALSE.
Последний и наиболее важный этап работы
связан с определением функций
обработки сообщений, называемых также обработчиками
сообщений. Ранее мы дали задание ClassWizard. построить эти функции. ClassWizard. создал остовы
функций OnYou и OnComp, но их тела пока пусты.
Пора добавить нужный код.
Для этого следуйте описанной выше
технологии. Выбрав имя функции OnYou, щелкните
правой кнопкой и перейдите к месту ее
определения, где и вставьте после
комментария такой код:
// TODO: Add your control notification handler code here
// (СДЕЛАТЬ: Добавьте здесь Ваш
код обработчика управляющего уведомления
switch (++Count)
{
// Первый щелчок
case 1 : m_You.SetWindowText("Привет,
компьютер!"); break;
// Второй щелчок
case 2 : m_You.SetWindowText("Компьютер,
проснись!"); break;
// Третий щелчок
case 3 : m_You.SetWindowText("Поздоровайся,
наконец!"); break;
}
Поясним этот код. Главное, что здесь
демонстрируется, — способ организации
вывода текста в окно редактирования. Когда
в операторе
m_You.SetWindowText("Привет, компьютер!")
объект m_You вызывает метод SetWindowText с
параметром, задающим строку текста, текст
появляется в окне редактирования,
связанном с переменной m_You.
По сценарию текст в окне меняется с
каждым из первых трех щелчков кнопки Вы.
Дальнейшее зависит от щелчков кнопки Компьютер.
Когда компьютер «просыпается», окно m_You
используется для ввода имени пользователя.
А вот этот код вставьте в функцию
обработки сообщения OnComp:
// TODO: Add your control notification handler code here
CString s1="Совет дня : Никогда не
разговаривайте с неизвестными!
Ваше имя, пожалуйста.",
s2 = "";
if (Count >= 3)
if (!InviteDone)
{
m_Comp.SetWindowText(s1);
m_You.SetWindowText("");
InviteDone = TRUE;
}
else
{
m_You.GetWindowText(s2);
if (s2 == "")
s2="люди";
m_Comp.SetWindowText("Здравствуйте,
"+ s2 +
" ! Всегда рад с Вами работать!
" );
m_You.SetWindowText( "");
}
Заметьте: при вызове метода GetWindowText
объектом m_You в операторе
m_You.GetWindowText(s2)
строка текста, введенная пользователем в
окно m_You, передается в строковую переменную
s2, с которой можно уже дальше работать.
Этот код завершает реализацию сценария
приветствия.