Поделиться через


Схемы событий

Если элемент управления желает получить его контейнером, какое-либо действие (определяется разработчиком элементов управления) произошло (например клавиш нажмите кнопку мыши, или изменение в состояние элемента управления) он вызывает функцию события включения. Эта функция уведомляет контейнер элементов управления, определенное действие произошло важное, происходит связанный случай.

Библиотеки Microsoft Foundation Class предлагает модель программирования оптимизированную для порождать события. В этой модели, «сопоставления событий» используются для обозначения, событие функций, события для указанного элемента управления. Сопоставления событий содержат один макрос для каждого события. Например, сопоставление события, которое вызывает событие click биржевой может выглядеть следующим образом:

BEGIN_EVENT_MAP(CMyAxCtrl, COleControl)
   EVENT_STOCK_CLICK()
END_EVENT_MAP()

Макрос EVENT_STOCK_CLICK указывает, что элемент управления вызывает событие click биржевой при каждом обнаружении кнопку мыши. Более подробный список других стандартных событий см. в статье Элементы управления ActiveX. События. Макросы также доступны для отображения пользовательских событий.

Хотя макросы сопоставления событий важны, обычно не вводите их непосредственно. Это происходит потому, что окно автоматически создает записи сопоставления событий в файлах источника при его использовании для связывания события включения функции с событиями. Каждый раз, когда необходимо изменить или добавить запись сопоставления событий можно использовать окно свойств.

Для поддержки сопоставления событий MFC предоставляет следующие макросы:

Объявление и демаркация сопоставления событий

DECLARE_EVENT_MAP

Объявляет сопоставление событий будет использоваться в классе для сопоставления события к функциям события включения (не используется в объявлении класса).

BEGIN_EVENT_MAP

Начинается определение сопоставления событий (не используется в реализации класса).

END_EVENT_MAP

Завершите определение сопоставления событий (не используется в реализации класса).

События, макросы

EVENT_CUSTOM

Показывает, какая функция события включения применяется определенное событие.

EVENT_CUSTOM_ID

Показывает, какая функция события включения применяется определенное событие, обозначенным с идентификатором диспетчера

Макросы сопоставления сообщения

ON_OLEVERB

Отображает настраиваемую команду обращанную элементом управления OLE.

ON_STDOLEVERB

Переопределяет стандартное сопоставление команды элемента управления OLE.

См. также

Основные понятия

Макросы и глобальные объекты MFC