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


Элементы управления ActiveX в MFC. События

Элементы activeX используют события для уведомления контейнера о том, что с элементом управления произошло что-то. Распространенные примеры событий включают щелчки элемента управления, данные, введенные с помощью клавиатуры, и изменения состояния элемента управления. При выполнении этих действий элемент управления запускает событие для оповещения контейнера.

События также называются сообщениями.

MFC поддерживает два типа событий: акции и пользовательские. События акции — это события, которые класс COleControl обрабатывает автоматически. Полный список событий акций см. в статье MFC ActiveX Controls: добавление событий акций. Пользовательские события позволяют элементу управления уведомлять контейнер при возникновении действия, относящееся к элементу управления. В некоторых примерах может быть изменение внутреннего состояния элемента управления или получения определенного сообщения окна.

Для правильного запуска событий элемент управления класс элемента управления должен сопоставить каждое событие элемента с функцией-членом, которая должна вызываться при возникновении связанного события. Этот механизм сопоставления (называемый картой событий) центрирует сведения о событии и позволяет Visual Studio легко получать доступ к событиям элемента управления и управлять ими. Эта карта событий объявляется следующим макросом, расположенным в заголовке (. H) файл объявления класса элемента управления:

DECLARE_EVENT_MAP()

После объявления карты событий она должна быть определена в реализации элемента управления (. Файл CPP. Следующие строки кода определяют карту событий, позволяя элементу управления запускать определенные события:

BEGIN_EVENT_MAP(CMyAxUICtrl, COleControl)
END_EVENT_MAP()

Если вы используете мастер управления ActiveX MFC для создания проекта, он автоматически добавляет эти строки. Если вы не используете мастер управления ActiveX MFC, необходимо добавить эти строки вручную.

С помощью представления классов можно добавлять события акций, поддерживаемые классом COleControl или пользовательскими событиями, которые вы определяете. Для каждого нового события представление классов автоматически добавляет соответствующую запись в карту событий элемента управления и элемент управления. IDL-файл.

Две другие статьи подробно обсуждают события:

См. также

Элементы ActiveX библиотеки MFC
Элементы ActiveX в MFC. Методы
Класс COleControl