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


Мастер элементов управления ATL

Обновлен: Ноябрь 2007

Этот мастер позволяет вставить элемент управления ATL в проект ATL (или проект MFC с поддержкой ATL). С помощью этого мастера можно вставить элемент управления, относящийся к одному из трех типов:

  • Стандартный элемент управления

  • Составной элемент управления

  • Элемент управления DHTML

Кроме того, можно указать минимальный элемент управления; при этом из списка Интерфейсы удаляются интерфейсы, предоставляемые по умолчанию для элементов управления в большинстве контейнеров. На странице Интерфейсы в мастере можно задать интерфейсы, которые будут поддерживаться для этого элемента управления.

Примечания

Начиная с Visual Studio 2008, сценарий регистрации, созданный данным мастером, будет регистрировать COM-компоненты в разделе HKEY_CURRENT_USER, а не в разделе HKEY_LOCAL_MACHINE. Чтобы задать иное поведение, установите флажок Зарегистрировать компонент для всех пользователей в мастере ATL.

Имена

Укажите имена объекта, интерфейса и классов, которые требуется добавить в проект. За исключением поля Краткое имя, значения во всех прочих полях можно изменять независимо. Если изменить текст в поле Краткое имя, это изменение отражается во всех остальных текстовых полях данной страницы. Если изменить содержимое поля Coclass в разделе "COM", это изменение отразится в полях Тип и ProgID, но имя интерфейса в поле Интерфейс не изменится. Эти принципы именования позволяют легко распознать объекты по их именам в процессе разработки элементов управления.

8xdz39x7.alert_note(ru-ru,VS.90).gifПримечание.

Поле Coclass может изменяться только для элементов управления без атрибутов. Если проекту присвоены атрибуты, поле Coclass изменить нельзя.

C++

Предоставляет сведения о классе C++, созданном для реализации объекта.

  • Краткое имя
    Задает краткое имя объекта. Указанное имя определяет имя класса и имя Coclass, имена файлов (CPP-файл и H-файл), имя интерфейса, имена в полях Тип и ProgID, если эти поля не изменяются отдельно.

  • Класс
    Задает имя класса, реализующего объект. Это имя основано на имени, указанном в поле Краткое имя, перед которым добавляется символ "C" — типичный префикс имени класса.

  • H-файл
    Задает имя файла заголовка для нового класса объекта. По умолчанию это имя основано на имени, заданном в поле Краткое имя. Нажмите кнопку с символом многоточия, чтобы сохранить файл в указанном месте или добавить объявление класса в существующий файл. Если выбрать уже существующий файл, он не будет сохранен в выбранном месте до тех пор, пока не будет нажата кнопка Готово.

    Мастер не переписывает файл. Если выбрать имя существующего файла, после нажатия кнопки Готово мастер попросит указать, следует ли добавить объявление класса к имеющемуся содержимому файла. Чтобы добавить объявление в файл, нажмите кнопку Да; чтобы вернуться в мастер и указать другое имя файла, нажмите кнопку Нет.

  • CPP-файл
    Задает имя файла реализации нового класса объекта. По умолчанию это имя основано на имени, которое вы указываете в поле Краткое имя. Нажмите кнопку с символом многоточия, чтобы сохранить файл в указанном месте. Файл не сохраняется в выбранном месте до тех пор, пока в мастере не будет нажата кнопка Готово.

    Мастер не переписывает файл. Если выбрать имя существующего файла, то после нажатия кнопки Готово мастер попросит указать, следует ли добавить реализацию класса к содержимому файла. Чтобы добавить реализацию в файл, нажмите кнопку Да; чтобы вернуться в мастер и указать другое имя файла, нажмите кнопку Нет.

  • С атрибутами
    Указывает, использует ли объект атрибуты. Если объект добавляется к атрибутированному проекту ATL, этот флажок установлен и не может быть снят. Таким образом, в проект с поддержкой атрибутов можно добавлять только атрибутированные объекты.

    Атрибутированный объект можно добавить только в проект ATL, в котором используются атрибуты. Если установить данный флажок для проекта ATL, не поддерживающего атрибуты, мастер попросит указать, следует ли добавить поддержку атрибутов в проект.

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

    Дополнительные сведения см. в разделах Параметры приложения, мастер проекта библиотеки ATL и Принцип действия атрибутов.

COM

Предоставляет сведения о функциях COM данного объекта.

  • Coclass
    Задает имя класса компонента, содержащего список поддерживаемых объектом интерфейсов.

    8xdz39x7.alert_note(ru-ru,VS.90).gifПримечание.

    Если вы создаете проект, использующий атрибуты, или указываете на этой странице мастера, что элемент управления использует атрибуты, изменить этот параметр будет невозможно, поскольку ATL не включает атрибут coclass.

  • Интерфейс
    Задает имя интерфейса для объекта. По умолчанию в начале имени интерфейса добавляется символ "I".

  • Тип
    Задает описание объекта, которое будет отображаться в реестре.

  • ProgID
    Задает имя, которое может использоваться контейнерами вместо CLSID объекта.

См. также

Задачи

Добавление элемента управления ATL

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

Adding Functionality to the Composite Control

Ссылки

Fundamentals of ATL COM Objects