“添加属性向导”->“名称”
使用该向导向接口添加属性。
属性类型
设置要添加的属性的类型。对于 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 调度接口。将该属性设置为接口的默认属性。一个接口只能有一个默认属性;指定了默认属性后,对于添加到接口中的任何其他属性,该框都不可用。