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


Добавление свойства IDL

Мастер Добавление свойства IDL добавляет свойство в интерфейс, определенный в библиотеке определения интерфейса (IDL), например в проект ATL, который содержит файл .idl. Этот мастер недоступен в проектах, поддерживающих MFC.

Этот мастер отличается от мастера Добавление свойства и мастера Добавление свойства IDL MFC следующим образом:

  • Мастер Добавление свойства добавляет свойство в интерфейс в проекте.
  • Мастер Добавление свойства IDL MFC предназначен для проектов MFC, ActiveX или ATL, поддерживающих MFC.

Добавление свойства IDL

  1. В меню Вид выберите Представление классов.

  2. В представлении классов щелкните правой кнопкой мыши имя интерфейса, в который нужно добавить свойство.

    Примечание.

    Вы также можете добавлять свойства в disp-интерфейсы, которые, если только проект не имеет атрибуты, вложены в узел библиотеки.

  3. Щелкните имя интерфейса правой кнопкой мыши.

  4. В контекстном меню выберите Добавить>Добавить свойство.

  5. В мастере Добавление свойства IDL укажите сведения для создания свойства.

  6. Нажмите кнопку ОК, чтобы добавить свойство.

У свойства методы Get и Put отображаются в области Представление классов в виде двух значков под интерфейсом, в котором оно определено. Дважды щелкните любой из значков, чтобы просмотреть объявление свойства в файле .idl.

Для интерфейсов ATL функции Get и Put добавляются в файлы .cpp и .h.

Мастер "Добавление свойства IDL"

В следующем разделе описывается пользовательский интерфейс, который вы будете использовать для добавления свойства IDL:

Снимок экрана: Добавление свойства IDL с двумя параметрами: [ int i и [ in ] char c. Тип возвращаемого значения — HRESULT. Тип свойства имеет значение float.

  • Имя свойства

    Задает имя свойства.

  • Тип свойства

    Тип данных свойства.

  • Return Type (Возвращаемый тип)

    Для интерфейсов ATL задает тип возвращаемого значения свойства. Для двойных интерфейсов HRESULT всегда является типом возвращаемого значения, а параметр выбора недоступен. Для настраиваемых интерфейсов вы можете выбрать тип возвращаемого значения в списке. HRESULT по-прежнему рекомендуется, так как предоставляет стандартный способ возврата ошибок.

  • Функция Get

    Для интерфейсов ATL создает метод Get для получения значения свойства. Выберите Get, Put или оба.

  • Функция Put

    Для интерфейсов ATL создает метод Put для установки значения свойства. Выберите Get, Put или оба. При использовании функции Put вы сможете выбрать один из двух следующих способов реализации метода:

    Вариант Описание
    propput Функция PropPut возвращает копию объекта. propput — стандартный и наиболее распространенный способ, позволяющий сделать свойство записываемым.
    propputref Функция PropPutRef возвращает ссылку на объект, а не возвращает копию самого объекта. Рассмотрите возможность использования propputref для объектов, таких как большие структуры или массивы, которые могут иметь затраты на инициализацию.
  • Параметры

    Отображает список параметров, добавляемых к свойству. Каждый элемент в списке состоит из имени параметра, типа параметра и атрибутов.

    in указывает, что параметр передается из вызывающей процедуры в вызываемую. out указывает, что параметр-указатель возвращается из вызываемой процедуры в вызывающую (от сервера к клиенту).

  • +

    Добавьте параметр. В области Параметры введите тип и имя параметра. Например, введите int x и нажмите кнопку ОК.

  • x

    Удаляет выбранный параметр из области Параметры.

  • Значок карандаша

    Позволяет изменить выбранный параметр.

  • Атрибуты

  1. helpcontext

    Задает идентификатор контекста, позволяющий пользователю просматривать в файле справки информацию об этом свойстве. Дополнительные сведения см. в разделе helpcontext.

  2. helpstring

    Определяет строку символов, используемую для описания элемента, к которому оно применяется. По умолчанию принимает значение propertyИмя свойства. Дополнительные сведения см. в разделе helpstring.

  3. id

    Задает числовой идентификатор, который определяет это свойство. Этот параметр недоступен для свойств настраиваемых интерфейсов. Дополнительные сведения см. в разделе id.

  • Дополнительные атрибуты

Ключевые слова в языке MIDL (Microsoft Interface Definition Language) подробно описаны в справочнике по этому языку.

Вариант Описание
bindable Указывает, что свойство поддерживает привязку данных. Дополнительные сведения см. в разделе bindable.
defaultbind Указывает, что это единственное привязываемое свойство представляет объект наилучшим образом. Дополнительные сведения см. в статье Атрибут defaultbind.
defaultcollelem Указывает, что свойство является функцией метода доступа для элемента в коллекции по умолчанию. Дополнительные сведения см. в разделе defaultcollelem.
displaybind Указывает, что это свойство должно отображаться пользователю как связываемое. Дополнительные сведения см. в разделе displaybind.
hidden Указывает, что свойство существует, но не должно отображаться в пользовательском браузере. Дополнительные сведения см. в разделе hidden.
immediatebind Указывает, что база данных будет немедленно оповещаться обо всех изменениях этого свойства для объекта с привязкой к данным. Дополнительные сведения см. в разделе immediatebind.
local Указывает компилятору MIDL, что свойство не является удаленным. Дополнительные сведения см. в разделе local.
nonbrowsable Помечает член интерфейса или disp-интерфейса, который не должен отображаться в обозревателе свойств. Дополнительные сведения см. в разделе nonbrowsable.
requestedit Указывает, что свойство поддерживает уведомление OnRequestEdit. Дополнительные сведения см. в разделе requestedit.
restricted Указывает, что свойство не может вызываться произвольным образом. Дополнительные сведения см. в разделе restricted.
source Указывает, что член свойства является источником событий. Дополнительные сведения см. в разделе source.

См. также:

Добавление свойства
Добавление свойства IDL MFC