“添加 IDL 属性”向导向接口定义库 (IDL) 中定义的接口添加属性,例如在包含 文件的 ATL 项目中。 此向导在支持 MFC 的项目中不可用。
此向导在以下方面不同于添加属性向导和添加 IDL MFC 属性向导:
- “添加属性”向导向项目中的接口添加属性。
- “添加 IDL MFC 属性”向导专门用于支持 MFC 的 MFC 项目、ActiveX 项目或 ATL 项目。
添加 IDL 属性
在“视图”菜单上,选择“类视图”。
在类视图中单击要向其添加属性的接口的名称。
注意
也可以将属性添加到调度接口,它嵌套在库节点中(除非该项目已特性化)。
右键单击接口的名称。
从快捷菜单中,选择“添加”“添加属性”。
在“添加 IDL 属性”向导中,提供用于创建属性的信息。
选择“确定”以添加属性。
属性的 Get 和 Put 方法在“类视图”中定义该属性的接口下显示为两个图标。 双击其中任一图标,查看 .idl 文件中的属性声明。
对于 ATL 接口,Get 和 Put 函数被添加到 .cpp 和 .h 文件中。
添加 IDL 属性向导
以下部分介绍了用于添加 IDL 属性的 UI:
属性名称
设置属性的名称。
属性类型
属性的数据类型。
返回类型
对于 ATL 接口,设置属性的返回类型。 对于双重接口,
HRESULT始终为返回类型,并且选择选项不可用。 对于自定义接口,可以从列表中选择返回类型。 仍建议使用HRESULT,因为它提供了返回错误的标准方式。Get 函数
对于 ATL 接口,创建
Get方法以检索属性值。 选择“Get”、“Put”或同时选择两者 。Put 函数
对于 ATL 接口,创建
Put方法以设置属性值。 选择“Get”、“Put”或同时选择两者 。 如果选择 Put 函数,可以从以下两种方式中进行选择,以实现此方法:选项 说明 propputPropPut函数返回对象的一个副本。 propput 是使属性可写入的默认方法,也是最常用的方法。propputrefPropPutRef函数返回对对象的引用,而不是返回对象本身的副本。 考虑将propputref选项用于可能具有初始化开销的对象,如大型结构或数组。参数
显示要添加到属性的参数列表。 列表中的每个项都包含参数名称、参数类型和属性。
in指示参数从调用过程传递到被调用过程。out指示指针参数从被调用过程返回到调用过程(从服务器到客户端)。+
添加参数。 在“参数”中,键入参数类型和名称。 例如,
int x,然后选择“确定”。x
从“参数”中移除所选参数。
铅笔图标
编辑所选参数。
特性
helpcontext指定一个上下文 ID,使用户在帮助文件中查看关于此属性的信息。 有关详细信息,请参阅
helpcontext。helpstring指定一个字符串,用于描述该字符串适用的元素。 默认情况下,它被设置为
property属性名称。 有关详细信息,请参阅helpstring。id设置用于标识属性的数字标识符。 此选项不适用于自定义接口的属性。 有关详细信息,请参阅
id。
- 附加特性
Microsoft 接口定义语言 (MIDL) 中的关键字在 MIDL 语言参考中进行了详细介绍。
| 选项 | 说明 |
|---|---|
bindable |
指示该属性支持数据绑定。 有关详细信息,请参阅 bindable。 |
defaultbind |
指示此单一、可绑定属性最好地表示了该对象。 有关详细信息,请参阅 defaultbind。 |
defaultcollelem |
指示该属性是默认集合的某个元素的访问器函数。 有关详细信息,请参阅 defaultcollelem。 |
displaybind |
指示应作为可绑定属性显示给用户的属性。 有关详细信息,请参阅 displaybind。 |
hidden |
指示该属性存在,但不应在面向用户的浏览器中显示。 有关详细信息,请参阅 hidden。 |
immediatebind |
指示将立即通知数据库对数据绑定对象的此属性所做的所有更改。 有关详细信息,请参阅 immediatebind。 |
local |
向 MIDL 编译器指出该属性不是远程的。 有关详细信息,请参阅 local。 |
nonbrowsable |
标记不应显示在属性浏览器中的接口或调度接口成员。 有关详细信息,请参阅 nonbrowsable。 |
requestedit |
指示该属性支持 OnRequestEdit 通知。 有关详细信息,请参阅 requestedit。 |
restricted |
指定此属性不能任意调用。 有关详细信息,请参阅 restricted。 |
source |
指示该属性的成员是事件的源。 有关详细信息,请参阅 source。 |