Контролы ActiveX MFC: методы

Замечание

Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Элемент управления ActiveX запускает события для взаимодействия между собой и его контейнером управления. Контейнер также может взаимодействовать с элементом управления с помощью методов и свойств. Методы также называются функциями.

Методы и свойства предоставляют экспортируемый интерфейс для использования другими приложениями, такими как клиенты службы автоматизации и контейнеры элементов управления ActiveX. Дополнительные сведения о свойствах элемента управления ActiveX см. в статье MFC ActiveX Controls: Properties.

Методы аналогичны использованию и назначению функций-членов класса C++. Существует два типа методов, которые может реализовать элемент управления: стандартные и пользовательские. Подобно встроенным событиям, встроенные методы — это методы, для которых COleControl предоставляет реализацию. Дополнительные сведения о встроенных методах см. в статье MFC ActiveX Controls: добавление встроенных методов. Пользовательские методы, определенные разработчиком, разрешают дополнительную настройку элемента управления. Дополнительные сведения см. в статье "Элементы ActiveX MFC: добавление настраиваемых методов".

Библиотека классов Microsoft Foundation (MFC) реализует механизм, позволяющий вашему контролу поддерживать стандартные и пользовательские методы. Первая часть — класс COleControl. Производные от CWndCOleControl методы-члены поддерживают стандартные методы, которые являются общими для всех элементов ActiveX. Второй частью этого механизма является карта отправки. Карта отправки похожа на карту сообщений; однако вместо сопоставления функции с идентификатором сообщения Windows карта диспетчера сопоставляет функции виртуальных членов с идентификаторами IDispatch.

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

DECLARE_DISPATCH_MAP()

Основная цель карты отправки — установить связь между именами методов, используемыми внешним вызывающим оператором (например, контейнером) и функциями-членами класса элемента управления, реализующими методы. После объявления карты отправки ее необходимо определить в файле реализации элемента управления (.cpp). Следующие строки кода определяют карту отправки:

BEGIN_DISPATCH_MAP(CMyAxUICtrl, COleControl)
END_DISPATCH_MAP()

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

В следующих статьях подробно рассматриваются методы:

См. также

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