Добавление нового интерфейса в проект ATL
При добавлении интерфейса в объект или элемент управления создаются усеченные функции для каждого метода данного интерфейса. В объект или элемент управления можно добавлять только те интерфейсы, которые в момент добавления обнаружены в существующей библиотеке типов. Кроме того, класс, в который добавляется интерфейс, должен реализовывать макрос BEGIN_COM_MAP, или, если проект имеет атрибуты, то он должен иметь атрибут coclass.
Новый интерфейс можно добавлять в элемент управления двумя способами: вручную или с помощью мастеров кода в представлении классов.
Использование мастеров кода в представлении классов для добавления интерфейса в существующий объект или элемент управления
В представлении классов дважды щелкните имя класса элемента управления. Например, это может быть полный элемент управления, составной элемент управления или любой другой класс элемента управления, реализующий макрос BEGIN_COM_MAP в своем файле заголовка.
В контекстном меню последовательно выберите пункты Добавить и Реализовать интерфейс.
Выберите интерфейс, который требуется реализовать, в Мастере реализации интерфейса. Если этот интерфейс не присутствует ни в одной доступной библиотеке типов, то необходимо добавить его вручную в IDL-файл.
Добавление нового интерфейса вручную
Добавьте определение нового интерфейса в IDL-файл.
Унаследуйте нужный объект или элемент управления от этого интерфейса.
Создайте новую запись COM_INTERFACE_ENTRY для этого интерфейса или, если проект имеет атрибуты, добавьте атрибут coclass.
Реализуйте методы интерфейса.
См. также
Задачи
Создание проектов с помощью мастеров приложений
Ссылки
Fundamentals of ATL COM Objects
Конфигурации по умолчанию проекта ATL