Cтраница 3
Библиотека MFC предоставляет обработчик сообщений для команд New, Open... Для определения обработчиков этих команд мастер ClassWizard не используется, но написать код поддержки необходимо. [31]
![]() |
Страница Member Variables диалогового окна мастера ClassWizard. [32] |
Теперь необходимо предоставить обработчик сообщения для каждого флажка или переключателя, который будет получать управление всякий раз при выборе или отмене выбора элемента управления. [33]
Если нужно удалить обработчик сообщений или виртуальную функцию, сгенерированную мастером, откройте диалоговое окно ClassWizard и выберите вкладку Message Maps. [34]
Первая: хотя обработчик сообщения WM MOUSEMOVE отображает требуемый указатель крестообразной формы, Windows также пытается отобразить стандартный курсор-стрелку, назначенный окну представления библиотекой MFC. В результате из-за переходов между этими двумя формами при перемещении указателя возникает неприятное мерцание. [35]
Перед реализацией некоторых обработчиков сообщений необходимо определить и инициализировать две переменных класса приложения: m CurrentThickness, хранящую текущую толщину линии ( 1, 2 или 3), и m CurrentTool, хранящую идентификатор выбранной кнопки с обозначением инструмента рисования. [36]
Должна кодироваться перед обработчиками сообщений пользователя. [37]
![]() |
Задание порядка обхода в диалоговом окне программы DlgDemo.| Элементы данных для добавления в класс CDIgDemoDIg. [38] |
Мастер ClassWizard позволяет добавлять обработчики сообщений для некоторых элементов управления. [39]
Когда мастер ClassWizard создает обработчик сообщения, то помимо объявления и определения функции-члена он также добавляет ее в специальную структуру MFC, называемую схемой сообщений ( message map) и связывающую функции с обрабатываемыми сообщениями. Схема сообщений позволяет библиотеке MFC вызывать для каждого типа сообщения соответствующий обработчик. [40]
Чтобы удалить указатель внутри обработчика сообщения WM KILLFOCOS, посылаемого при потере окном фокуса ввода, необходимо вызвать функцию: : DestroyCaret. Причиной уничтожения указателя является то, что указатель может иметь только то окно, в котором находится фокус ввода. [41]
Объект класса CCmdUi передается обработчику сообщения UPDATE COMMAND UI ( т.е. функции CnUpdate... Функции Enable, SetGheck, SetRadio и SetText класса CCmdUi используются для обновления объектов пользовательского интерфейса любого вида. Действие каждой из них ( если оно требуется) зависит от типа объекта. [42]
На самом деле, обработчиком сообщения называют специальную функцию, которая отвечает за обработку одного единственного сообщения. [43]
![]() |
Схема структуры классов для упражнения 7. [44] |
Закодируйте данные предпочтения в обработчиках сообщений этих классов таким образом, чтобы класс-получатель сообщения вернул наименование того блюда, которое он предпочитает. [45]