添加 IDL MFC 方法
“添加 IDL MFC 方法”向导将方法添加到接口定义库 (IDL) 接口,该接口在 Microsoft Framework 类 (MFC) 项目中定义。 如果项目包含与接口关联的类,向导还会向该类添加该方法。
若要使用此向导,项目必须是 MFC 项目、ActiveX 项目或支持 MFC 的 ATL 项目。 例如,如果你有 Microsoft ActiveX 控件项目,可以按照以下过程将方法添加到解决方案中的 IDL 接口。
此向导与添加方法向导(将方法添加到 IDL 接口)在以下方面有所不同:
此向导特定于支持 MFC 的 MFC、ActiveX 或 ATL 项目。 对于不支持 MFC 的 ATL 项目,只有“添加方法”向导可用。
如果在项目中找到调度映射,则会添加以下条目:
BEGIN_DISPATCH_MAP(CMFCApplication2Doc, CDocument) DISP_FUNCTION_ID(CMFCApplication2Doc, "methodName", dispidmethodName, internalName, VT_EMPTY, VTS_NONE) END_DISPATCH_MAP()
将生成以下关联的方法实现:
void CMFCApplication2Doc::internalName() { AFX_MANAGE_STATE(AfxGetAppModuleState()); // TODO: Add your dispatch handler code here }
向接口添加方法
在“视图”菜单上,选择“类视图”。
在“类视图”中,展开项目节点,显示想要向其添加方法的接口。
右键单击接口的名称。
在快捷菜单上选择“添加”,然后选择“添加方法”。
在“添加 IDL MFC 方法”向导中,提供关于方法的信息。
选择“确定”以添加方法。
UI 元素列表
以下部分介绍了“添加 IDL MFC 方法”向导 UI:
方法名称
设置方法的名称。 下表描述了方法名称选项(具体取决于接口的类型):
接口类型 方法名称 ATL 双重接口、自定义接口和本地自定义接口 提供自己的方法名。 MFC 调度接口 提供自己的方法名或从列表中选择建议的方法名。 如果从列表中选择一个名称,则相应的返回类型会在“返回类型”中显示,并且无法更改。 MFC ActiveX 控件调度接口 提供自己的方法名称或选择一种常用方法:DoClick 或 Refresh。 有关常用方法的详细信息,请参阅 MFC ActiveX 控件:添加常用方法。 内部名称
仅在“方法类型”为“自定义”时可用。 内部名称是将在调度映射、头 (.h) 文件和实现 (.cpp) 文件中使用的名称。 默认情况下,此名称与“方法名”相同。 已将其添加到 MFC 调度接口中。
如果要将方法添加到 MFC 或 MFC ActiveX 控件的调度接口,则可以更改方法名称,如下表所述:
接口类型 内部名称 ATL 双重接口、自定义接口和本地自定义接口 不可用。 MFC 调度接口 默认设置为方法名。 可编辑内部名称。 MFC ActiveX 控件调度接口 仅能为自定义方法设置内部名称。 常用方法不使用内部名称。 返回类型
该方法返回的数据类型。 接口方法的标准返回类型是
HRESULT
。如果接口是双重接口或自定义接口,则只允许
HRESULT
返回类型。可以根据要添加到方法的接口类型设置数据类型,如下表所述:
接口类型 返回类型 双重接口 HRESULT
。 不可更改。自定义接口 HRESULT
。 不可更改。本地自定义接口 提供自己的返回类型或从列表中选择一个类型。 调度接口 提供自己的返回类型或从列表中选择一个类型。 MFC ActiveX 控件调度接口 如果实现常用方法,则返回类型将设置为适当的值且不可更改。 如果从“方法名”列表中选择方法,并选择了“选择方法类型”下的“自定义”,请从列表中选择返回类型。 方法类型
仅适用于 MFC ActiveX 控件。 如果在“方法名称”中提供方法名称(而不是从列表中选择方法),则不可用。
如果在“方法名称”列表中选择其中一种方法,请在“方法类型”下拉列表中选择“常用”或“自定义”实现。 方法的选择会影响向导提供的返回类型和方法实现,如下表所述:
方法类型 说明 常用 默认值。 插入在“方法名称”列表中所选方法的默认实现。 如果选择“常用”,则“返回类型”不可更改。 自定义 为“方法名称”中选择的方法提供自定义实现。 可以提供自己的返回类型或从“返回类型”列表中选择一个类型。 Parameters
显示方法的参数、修饰符和类型。 向导会在你添加参数时更新“参数”列表。
+
添加参数。 在“参数”中,键入参数类型、名称和任何修饰符。 例如,
int x
,然后选择“确定”。如果未提供参数名称,则向导将忽略所有“参数类型”选择;对于 ATL 项目,也会忽略参数属性。
x
从“参数”列表中移除所选参数。
铅笔图标
编辑所选参数。
id
call_as
helpcontext
指定一个上下文 ID,让用户可以在帮助文件中查看此方法的相关信息。 有关详细信息,请参阅 MIDL 参考中的
helpcontext
。helpstring
指定描述关联元素的文本。 默认情况下,为其方法名称。 有关详细信息,请参阅 MIDL 参考中的 helpstring。