大佬教程收集整理的这篇文章主要介绍了ocx手动添加方法,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
正常项目是可以通过ide(vc6.0、vs2013等)进行添加方法和事件的,但项目组成员有时候把工程搞坏了,即通过ide是无法自动添加了。
所以只能先手动应急了。下面记录的是手动添加的过程。
-------------------------------------------------------------------------------------------------
@H_616_16@Ctrl.h和Ctrl.cpp增加对应的声明和实现如下:
@H_616_16@(说明:如果dispidYbInit和DISP_FUNCTION没加上,虽然对外接口有暴露[工具能看到暴露的接口],但调用时候会提示没有该方法)
@H_616_16@@H_616_16@// Dispatch maps@H_616_16@@H_616_16@ @H_616_16@//{{AFX_DISPATCH(CocxCtrl)@H_616_16@ afx_msg short YbInit(LPCTSTR pIniTinfo);@H_616_16@ //}}AFX_DISPATCH@H_616_16@@H_616_16@ @H_616_16@DECLARE_DISPATCH_MAP()@H_616_16@ @H_616_16@@H_616_16@// Dispatch and event IDs@H_616_16@@H_616_16@public:@H_616_16@@H_616_16@ @H_616_16@enum {@H_616_16@@H_616_16@ @H_616_16@//{{AFX_DISP_ID(CocxCtrl)@H_616_16@ dispidcheckPrinter = 1L,@H_616_16@ dispidYbInit = 145L,
@H_616_16@// Dispatch map@H_616_16@BEGIN_DISPATCH_MAP(CocxCtrl, COleControl)@H_616_16@ //{{AFX_DISPATCH_MAP(CocxCtrl)@H_616_16@ DISP_FUNCTION(CocxCtrl, "YbInit", YbInit, VT_I2, VTS_BSTR)@H_616_16@ //}}AFX_DISPATCH_MAP@H_616_16@ @H_616_16@@H_616_16@short @H_616_16@CocxCtrl::YbInit(@H_616_16@LPCTSTR @H_616_16@pIniTinfo)@H_616_16@{@H_616_16@@H_616_16@ @H_616_16@return @H_616_16@0;@H_616_16@}
@H_616_16@对外暴露的Ctrl.odl文件methods下按顺序递增对应方法签名
@H_616_16@@H_616_16@methods:@H_616_16@ @H_616_16@// NOTE - ClassWizard will maintain method information here.@H_616_16@ @H_616_16@// Use extreme caution when ediTing this section.@H_616_16@ @H_616_16@//{{AFX_ODL_METHOD(CocxCtrl)@H_616_16@ [id(1)] short check();@H_616_16@ [id(145)] short YbInit(LPCTSTR pIniTinfo);@H_616_16@ //}}AFX_ODL_METHOD
@H_616_16@总结:至此,就可以调用上面的方法了,调用示例如下:
@H_616_16@function yb_init(){@H_616_16@@H_616_16@ var ret = ocxctl.YbInit("");@H_616_16@ @H_616_16@}@H_616_16@@H_616_16@<!--clsid : 控件成功注册到本机后,这个值在本机注册表中可以找到,页面获取控件对象就是通过这个来找的。--> @H_616_16@@H_616_16@<@H_616_16@OBjeCT @H_616_16@name=@H_616_16@"ocxctl" @H_616_16@ID=@H_616_16@"ocxobject" @H_616_16@WIDTH=@H_616_16@"0" @H_616_16@HEIGHT=@H_616_16@"0" @H_616_16@CLASSID=@H_616_16@"CLSID:4953D2DD-0B5F-45F1-B46C-C55C35571152" @H_616_16@codebase=@H_616_16@"CocxCtrl.ocx"@H_616_16@></@H_616_16@OBjeCT@H_616_16@> @H_616_16@@H_616_16@<@H_616_16@p@H_616_16@>@H_616_16@ @H_616_16@<@H_616_16@input @H_616_16@type=@H_616_16@"button" @H_616_16@value=@H_616_16@"初始化" @H_616_16@onClick=@H_616_16@"yb_init()"@H_616_16@/>@H_616_16@@H_616_16@</@H_616_16@p@H_616_16@>
以上是大佬教程为你收集整理的ocx手动添加方法全部内容,希望文章能够帮你解决ocx手动添加方法所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。