Добавление нового интерфейса в проект ATL
При добавлении интерфейса в объект или элемент управления вы создадите функции stubbed-out для каждого метода в этом интерфейсе. В объекте или элементе управления можно добавить только интерфейсы, найденные в существующей библиотеке типов. Кроме того, класс, в котором добавляется интерфейс, должен реализовать макрос BEGIN_COM_MAP или, если проект атрибутом, он должен иметь coclass
атрибут.
Вы можете добавить новый интерфейс в элемент управления одним из двух способов: вручную или с помощью мастеров кода в представлении классов.
Использование мастеров кода в представлении классов для добавления интерфейса в существующий объект или элемент управления
В представлении классов щелкните правой кнопкой мыши имя класса элемента управления. Например, полный элемент управления или составной элемент управления или любой другой класс элемента управления, реализующий макрос BEGIN_COM_MAP в файле заголовка.
В контекстном меню нажмите кнопку "Добавить" и нажмите кнопку "Реализовать интерфейс".
Выберите интерфейсы для реализации в мастере реализации интерфейса. Если интерфейс не существует в доступном typelib, необходимо добавить его вручную в IDL-файл.
Добавление нового интерфейса вручную
Добавьте определение нового интерфейса в IDL-файл.
Наследуйте объект или элемент управления из интерфейса.
Создайте новый COM_INTERFACE_ENTRY для интерфейса или,
coclass
если проект атрибута атрибута.Реализуйте методы в интерфейсе.
См. также
Мастер проектов ATL
Типы проектов C++ в Visual Studio
Программирование с использованием ATL и кода среды выполнения C
Основы COM-объектов ATL
Конфигурации проектов ATL по умолчанию