Элементы управления ActiveX в 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