Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Элементы 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
, или настраиваемые события, которые вы определяете. Для каждого нового события Class View автоматически добавляет соответствующую запись в карту событий элемента управления и обновляет его файл .IDL.
Две другие статьи подробно обсуждают события:
См. также
Элементы управления ActiveX MFC
Элементы управления ActiveX MFC: методы
Класс COleControl