Добавление свойства IDL
Мастер Добавление свойства IDL добавляет свойство в интерфейс, определенный в библиотеке определения интерфейса (IDL), например в проект ATL, который содержит файл .idl
. Этот мастер недоступен в проектах, поддерживающих MFC.
Этот мастер отличается от мастера Добавление свойства и мастера Добавление свойства IDL MFC следующим образом:
- Мастер Добавление свойства добавляет свойство в интерфейс в проекте.
- Мастер Добавление свойства IDL MFC предназначен для проектов MFC, ActiveX или ATL, поддерживающих MFC.
Добавление свойства IDL
В меню Вид выберите Представление классов.
В представлении классов щелкните правой кнопкой мыши имя интерфейса, в который нужно добавить свойство.
Примечание.
Вы также можете добавлять свойства в disp-интерфейсы, которые, если только проект не имеет атрибуты, вложены в узел библиотеки.
Щелкните имя интерфейса правой кнопкой мыши.
В контекстном меню выберите Добавить>Добавить свойство.
В мастере Добавление свойства IDL укажите сведения для создания свойства.
Нажмите кнопку ОК, чтобы добавить свойство.
У свойства методы Get
и Put
отображаются в области Представление классов в виде двух значков под интерфейсом, в котором оно определено. Дважды щелкните любой из значков, чтобы просмотреть объявление свойства в файле .idl
.
Для интерфейсов ATL функции Get
и Put
добавляются в файлы .cpp
и .h
.
Мастер "Добавление свойства IDL"
В следующем разделе описывается пользовательский интерфейс, который вы будете использовать для добавления свойства IDL:
Имя свойства
Задает имя свойства.
Тип свойства
Тип данных свойства.
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
Удаляет выбранный параметр из области Параметры.
Значок карандаша
Позволяет изменить выбранный параметр.
Атрибуты
helpcontext
Задает идентификатор контекста, позволяющий пользователю просматривать в файле справки информацию об этом свойстве. Дополнительные сведения см. в разделе
helpcontext
.helpstring
Определяет строку символов, используемую для описания элемента, к которому оно применяется. По умолчанию принимает значение
property
Имя свойства. Дополнительные сведения см. в разделеhelpstring
.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 . |