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


Добавление нового интерфейса в проект ATL

При добавлении интерфейса в объект или элемент управления создаются усеченные функции для каждого метода данного интерфейса. В объект или элемент управления можно добавлять только те интерфейсы, которые в момент добавления обнаружены в существующей библиотеке типов. Кроме того, класс, в который добавляется интерфейс, должен реализовывать макрос BEGIN_COM_MAP, или, если проект имеет атрибуты, то он должен иметь атрибут coclass.

Новый интерфейс можно добавлять в элемент управления двумя способами: вручную или с помощью мастеров кода в представлении классов.

Использование мастеров кода в представлении классов для добавления интерфейса в существующий объект или элемент управления

  1. В представлении классов дважды щелкните имя класса элемента управления. Например, это может быть полный элемент управления, составной элемент управления или любой другой класс элемента управления, реализующий макрос BEGIN_COM_MAP в своем файле заголовка.

  2. В контекстном меню последовательно выберите пункты Добавить и Реализовать интерфейс.

  3. Выберите интерфейс, который требуется реализовать, в Мастере реализации интерфейса. Если этот интерфейс не присутствует ни в одной доступной библиотеке типов, то необходимо добавить его вручную в IDL-файл.

Добавление нового интерфейса вручную

  1. Добавьте определение нового интерфейса в IDL-файл.

  2. Унаследуйте нужный объект или элемент управления от этого интерфейса.

  3. Создайте новую запись COM_INTERFACE_ENTRY для этого интерфейса или, если проект имеет атрибуты, добавьте атрибут coclass.

  4. Реализуйте методы интерфейса.

См. также

Задачи

Создание проектов с помощью мастеров приложений

Ссылки

мастер проектов ATL

Fundamentals of ATL COM Objects

Конфигурации по умолчанию проекта ATL

Основные понятия

Проекты Visual C++

Programming with ATL and C Run-Time Code