Всякий раз, когда элемент управления желает уведомить его контейнера (например, комбинация клавиш, щелчок мыши или изменения состояния элемента управления) произошло какое-либо действие (определяется разработчик элемента управления) вызывается функция событий огонь. Эта функция уведомляет элемент управления контейнера, возникновения некоторых важных действий, обстреляв связанные события.
Библиотеки Microsoft Foundation Class предлагает модель программирования, оптимизированный для инициирования событий. В этой модели, «событий карт» используются для обозначения функций, которые запускают какие события для конкретного элемента управления. Событие карты содержат один макрос для каждого события. К примеру картой событий, который запускает событие Click запасов может выглядеть:
BEGIN_EVENT_MAP (CSampleCtrl, COleControl)
//{{AFX_EVENT_MAP(CSampleCtrl)
EVENT_STOCK_CLICK)
//}}AFX_EVENT_MAP
END_EVENT_MAP()
Макрос EVENT_STOCK_CLICK указывает, что элемент управления будет срабатывать запас событие Click каждый раз, когда он обнаруживает щелчок мыши. Более подробный список других фондовых события, содержится в статье элементов управления ActiveX: события в Руководстве по Visual C++ программист. Макросы также доступны для обозначения пользовательских событий.
Карты события макросов имеют важное значение, однако вы обычно не вставлять их непосредственно. Это потому что ClassWizard автоматически создает записи карты события в исходных файлах при использовании связываемого функций событий огонь с событиями. Любое время, когда вы хотите изменить или добавить карты события ввода, можно использовать ClassWizard.
Для поддержки событий карты, MFC предоставляет следующие макросы:
Декларация карта событий и демаркации
| DECLARE_EVENT_MAP | Объявляет, что картой событий будет использоваться в классе для сопоставления событий для событий стрельбы функций (должны быть использованы в объявлении класса). |
| BEGIN_EVENT_MAP | Начинает определение событий карты (необходимо использовать в реализации класса). |
| END_EVENT_MAP | Завершает определение событий карты (необходимо использовать в реализации класса). |
Отображение макросов событий
| EVENT_CUSTOM | Указывает, какую функцию событий огонь будет срабатывать указанное событие. |
| EVENT_CUSTOM_ID | Указывает, какую функцию событий огонь будет срабатывать указанное событие с Идентификатором назначенным направление. |
Макросы отображения сообщений
| ON_OLEVERB | Указывает пользовательскую команду в ведении управления OLE. |
| ON_STDOLEVERB | Переопределяет сопоставление стандартных команд управления OLE. |