“添加属性向导”->“名称”
使用该向导向接口添加属性。
属性类型
设置要添加的属性的类型。 对于 MFC 调度接口,提供您自己的类型或从预定义列表中选择。 如果提供属性的常用实现,则“属性类型”设置为常用类型且不可更改。属性名
设置属性名。 对于与 ActiveX 控件关联的 MFC 调度接口,可提供您自己的名称,或者可以从预定义列表中选择常用属性名。 如果提供自己的属性名,则 Stock 实现类型不可用。 有关列表中的属性说明,请参见常用属性。接口类型
说明
ATL 双重接口、自定义接口和本地自定义接口
提供属性名。
MFC 调度接口、MFC ActiveX 控件调度接口
提供属性名或从列表中选择常用属性。 如果从列表中选择属性,则“属性类型”框中显示适当的值。 可以根据“实现类型”下的所选内容更改此类型。
返回类型
仅用于 ATL 接口。 设置属性的返回类型。 对于双重接口,返回类型总是 HRESULT,且该框不可用。 对于自定义接口,可从列表中选择返回类型。 仍然推荐 HRESULT,因为它提供了一种返回错误的标准方法。变量名
仅用于 MFC 调度接口。 仅当指定“实现类型”下的“成员变量”时才可用。 设置与该属性关联的成员变量的名称。 默认情况下,变量名设置为 m_PropertyName。 可以编辑此名称。通知函数
仅用于 MFC 调度接口。 仅当指定“实现类型”下的“成员变量”时才可用。 设置属性更改时调用的通知函数的名称。 默认情况下,通知函数的名称设置为 OnPropertyNameChanged。 可以编辑此名称。Get 函数
用于 MFC 调度接口。 仅当指定“实现类型”下的“Get/Set 方法”时才可用。 设置函数的名称以获取属性。 默认情况下,Get 函数的名称设置为 GetPropertyName。 可以编辑此名称。 如果删除此名称,则函数 GetNotSupported 插入到接口调度映射中。 GetPropertyName 函数将属性指定为可读。集合函数
仅用于 MFC 调度接口。 仅当指定“实现类型”下的“Get/Set 方法”时才可用。 设置函数名称以设置属性。 默认情况下,Set 函数的名称设置为 SetPropertyName。 可以编辑此名称。 如果删除此名称,则函数 SetNotSupported 插入到接口调度映射中。 Set 属性名 函数将属性指定为可写。实现类型
仅用于 MFC 调度接口。 指定如何实现要添加的属性。实现类型
说明
常用
为“属性名称”中选定的属性指定常用实现。 默认值。 有关更多信息,请参见常用属性。
如果指定“常用”,则“属性类型”、“参数类型”和“参数名”无效。
成员变量
指定将属性作为成员变量添加。 可以将自定义属性或大多数常用属性作为成员变量添加。 不能为 Caption、hWnd 和 Text 属性指定“成员变量”。
提供“变量名”和“通知函数”下的默认名称。 可以编辑此名称。
获取/设置方法
默认情况下指定将属性作为 GetPropertyName 和 SetPropertyName 函数添加。 这些名称显示在“Get 函数”和“Set 函数”下。
可以更改默认的“属性类型”,它传递 Get 函数的值。 可以为 Get 和 Set 函数指定参数。
Get 函数
用于 ATL 接口。 将属性设置为可读;即它创建用于从对象中检索该属性的 Get 方法。 必须选择 Get、Put 或二者。Put 函数
仅用于 ATL 接口。 将属性设置为可写;即它创建用于设置(或“给出”)对象的该属性的 Put 方法。 必须选择 Get、Put 或二者。 如果选择该选项,则可以从下列两种方式中进行选择以实现方法:选项
说明
PropPut
propput 函数返回对象的副本。 这是使属性可写的默认方法,也是最常用的方法。
PropPutRef
PropPutRef 函数返回对对象的引用,而不是返回对象本身的副本。 对可能具有初始化系统开销的对象(如大型结构或数组)可考虑使用该选项。
参数特性
仅用于 ATL 接口。 设置“参数名称”所指定的参数是 in、out、双向还是无。选项
说明
in
指示参数从调用过程传递到被调用过程。
out
指示指针参数从被调用过程返回到调用过程(即从服务器到客户端)。
参数类型
设置参数的数据类型。 从列表中选择类型。参数名
设置要为属性添加的参数名(如果属性具有参数)。 单击“添加”后,参数名出现在**“参数列表”**中。参数列表
显示要添加到属性中的特性列表。 列表中的每一项均由参数名、参数类型和特性组成。 使用“添加”和“移除”更新列表。添加
向**“参数列表”**中添加在“参数名”和“参数类型”中指定的参数。 必须单击“添加”才能将参数添加到列表中。移除
移除在**“参数列表”**中选择的参数。默认属性
仅用于 MFC 调度接口。 将该属性设置为接口的默认属性。 一个接口只能有一个默认属性;指定了默认属性后,对于添加到接口中的任何其他属性,该框都不可用。