MFC ActiveX控件:添加自定义方法
来源:互联网 发布:淘宝详情页制作软件 编辑:程序博客网 时间:2024/06/04 17:41
MFC ActiveX 控件:添加自定义方法
链接:http://msdn.microsoft.com/zh-cn/library/cc451420
自定义方法与常用方法的区别在于,自定义方法未由 COleControl 实现。必须为添加到控件的每个自定义方法提供实现。
ActiveX 控件用户可以随时调用自定义方法来执行控件特定的操作。自定义方法的调度映射项为 DISP_FUNCTION 窗体。
使用“添加方法向导”添加自定义方法
下列过程说明如何将自定义方法 PtInCircle 添加到 ActiveX 控件的主干代码。PtInCircle 确定传递给控件的坐标是在圆的内部还是外部。此过程也可用于添加其他自定义方法。用自定义方法名及其参数替换 PtInCircle 方法名和参数。
注意 此例使用“事件”一文中的 InCircle
函数。有关此函数的更多信息,请参见文章MFC ActiveX 控件:向 ActiveX 控件添加自定义事件。
使用“添加方法向导”添加 PtInCircle 自定义方法
- 加载控件的项目。
- 在“类视图”中展开控件的库节点。
- 右击控件的接口节点(库节点的第二个节点)打开快捷菜单。
- 在快捷菜单中单击“添加”,然后单击“添加方法”。
此操作将打开“添加方法向导”。
- 在“方法名称”框中,键入“PtInCircle”。
- 在“内部名称”框中,键入方法的内部函数名或使用默认值(此例中为
PtInCircle
)。 - 在“返回类型”框中,单击方法的返回类型“VARIANT_BOOL”。
- 使用“参数类型”和“参数名”控件,添加一个称为
xCoord
的参数(OLE_XPOS_PIXELS 类型)。 - 使用“参数类型”和“参数名”控件,添加一个称为
yCoord
的参数(OLE_YPOS_PIXELS 类型)。 - 单击“完成”。
“添加方法向导”对自定义方法的更改
当您添加自定义方法时,“添加方法向导”对控件类头 (.H) 文件和实现 (.CPP) 文件进行一些更改。下列代码行被添加到控件类头 (.H) 文件中的调度映射声明:
VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
此代码声明一个称为 PtInCircle
的调度方法处理程序。控件用户可以使用外部名称 PtInCircle 调用此函数。
下列代码行被添加到控件的 .IDL 文件:
[id(1), helpstring("method PtInCircle")] VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
此行为 PtInCircle 方法分配一个特定的 ID 号,即该方法在“添加方法向导”方法和属性列表中的位置。由于自定义方法是用“添加方法向导”添加的,此方法的项自动添加到项目的 .IDL 文件。
另外,下列代码行(位于控件类的实现 (.CPP) 文件中)被添加到控件的调度映射:
DISP_FUNCTION(CSampleCtrl, "PtInCircle", PtInCircle, VARIANT_BOOL, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)
DISP_FUNCTION 宏将 PtInCircle 方法映射到控件的处理函数 PtInCircle
、将返回类型声明为VARIANT_BOOL 并声明传递给 PtInCircle
的 VTS_XPOS_PIXELS和 VTS_YPOSPIXELS 类型的两个参数。
最后,“添加方法向导”将存根 (stub) 函数 CSampleCtrl::PtInCircle
添加到控件的实现 (.CPP) 文件的末尾。为使PtInCircle
按前面介绍的方式运行,必须对其做如下修改:
VARIANT_BOOL CSampleCtrl::PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord){ return InCircle(CPoint(xCoord, yCoord));}
自定义方法与常用方法的区别在于,自定义方法未由 COleControl 实现。必须为添加到控件的每个自定义方法提供实现。
ActiveX 控件用户可以随时调用自定义方法来执行控件特定的操作。自定义方法的调度映射项为 DISP_FUNCTION 窗体。
使用“添加方法向导”添加自定义方法
下列过程说明如何将自定义方法 PtInCircle 添加到 ActiveX 控件的主干代码。PtInCircle 确定传递给控件的坐标是在圆的内部还是外部。此过程也可用于添加其他自定义方法。用自定义方法名及其参数替换 PtInCircle 方法名和参数。
注意 此例使用“事件”一文中的 InCircle
函数。有关此函数的更多信息,请参见文章MFC ActiveX 控件:向 ActiveX 控件添加自定义事件。
使用“添加方法向导”添加 PtInCircle 自定义方法
- 加载控件的项目。
- 在“类视图”中展开控件的库节点。
- 右击控件的接口节点(库节点的第二个节点)打开快捷菜单。
- 在快捷菜单中单击“添加”,然后单击“添加方法”。
此操作将打开“添加方法向导”。
- 在“方法名称”框中,键入“PtInCircle”。
- 在“内部名称”框中,键入方法的内部函数名或使用默认值(此例中为
PtInCircle
)。 - 在“返回类型”框中,单击方法的返回类型“VARIANT_BOOL”。
- 使用“参数类型”和“参数名”控件,添加一个称为
xCoord
的参数(OLE_XPOS_PIXELS 类型)。 - 使用“参数类型”和“参数名”控件,添加一个称为
yCoord
的参数(OLE_YPOS_PIXELS 类型)。 - 单击“完成”。
“添加方法向导”对自定义方法的更改
当您添加自定义方法时,“添加方法向导”对控件类头 (.H) 文件和实现 (.CPP) 文件进行一些更改。下列代码行被添加到控件类头 (.H) 文件中的调度映射声明:
VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
此代码声明一个称为 PtInCircle
的调度方法处理程序。控件用户可以使用外部名称 PtInCircle 调用此函数。
下列代码行被添加到控件的 .IDL 文件:
[id(1), helpstring("method PtInCircle")] VARIANT_BOOL PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord);
此行为 PtInCircle 方法分配一个特定的 ID 号,即该方法在“添加方法向导”方法和属性列表中的位置。由于自定义方法是用“添加方法向导”添加的,此方法的项自动添加到项目的 .IDL 文件。
另外,下列代码行(位于控件类的实现 (.CPP) 文件中)被添加到控件的调度映射:
DISP_FUNCTION(CSampleCtrl, "PtInCircle", PtInCircle, VARIANT_BOOL, VTS_XPOS_PIXELS VTS_YPOS_PIXELS)
DISP_FUNCTION 宏将 PtInCircle 方法映射到控件的处理函数 PtInCircle
、将返回类型声明为VARIANT_BOOL 并声明传递给 PtInCircle
的 VTS_XPOS_PIXELS和 VTS_YPOSPIXELS 类型的两个参数。
最后,“添加方法向导”将存根 (stub) 函数 CSampleCtrl::PtInCircle
添加到控件的实现 (.CPP) 文件的末尾。为使PtInCircle
按前面介绍的方式运行,必须对其做如下修改:
VARIANT_BOOL CSampleCtrl::PtInCircle(OLE_XPOS_PIXELS xCoord, OLE_YPOS_PIXELS yCoord){ return InCircle(CPoint(xCoord, yCoord));}
- MFC ActiveX控件:添加自定义方法
- MFC ActiveX 控件:添加自定义事件
- MFC添加Activex控件的方法
- MFC学习(六)MFC ActiveX 控件:添加自定义事件
- vs2008 mfc 添加ActiveX控件
- MFC在VS2008中对ActiveX控件添加方法
- MFC在VS2008中对ActiveX控件添加方法 .
- MFC ActiveX OCX控件添加安全接口
- 如何在使用VS2005的MFC编写ActiveX控件时,为控件添加属性、方法?
- Activex控件中显示MFC窗口方法
- MFC ActiveX控件初步 调试方法
- MFC工具栏添加自定义控件
- MFC在VS2008中为ActiveX控件添加属性
- MFC在VS2008中对ActiveX控件添加事件
- MFC在VS2008中对ActiveX控件添加事件 .
- MFC在VS2008中为ActiveX控件添加属性 .
- MFC在VS2005中为ActiveX控件添加属性
- MFC在VS2008中为ActiveX控件添加属性
- Fedora17环境无视频编译linphone3.5.2
- Eclipse快捷键
- JAVA 输出javabean属性方法 详解 利用common包~~~important
- 删除重复数据的触发器.sql
- Web Services制作智能升级程序
- MFC ActiveX控件:添加自定义方法
- Java学习从入门到精通
- solaris查看端口的占用
- linux下FrameBuffer学习
- C# Winform实现可复用的自动升级系统
- Poco 日志 之 系统日志
- Android--相机预览及拍照临时文件/SurfaceView
- 让你的应用支持新iPad的Retina显示屏
- C#实现程序的版本自动升级更新