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


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

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

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

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

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

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

Заметки

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

Имена

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

Примечание

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

C++

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

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

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

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

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

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

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

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

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

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

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

COM

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

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

    Примечание

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

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

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

  • ProgID
    Задает имя, которое может использоваться контейнерами вместо CLSID объекта. Это поле автоматически не заполнено. Если это поле не заполняется вручную, то элемент управления может быть недоступен для других средств. Например, элементы ActiveX, которые создаются без ProgID, недоступны в диалоговом окне Вставка элемента ActiveX. Дополнительные сведения о диалоговом окне см. в разделе Диалоговое окно "Вставка элемента управления ActiveX".

См. также

Задачи

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

Ссылки

Fundamentals of ATL COM Objects

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

Adding Functionality to the Composite Control