VC写ACtivex控件的起步

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

VC写ACtivex控件的起步----创建和调试2011-11-120个评论收藏我要投稿最近一直想学ACtivex控件的开发,起步的工作要先做好。查了一堆关于ACtivex控件的原理,发现它和DLL动态库颇为类似。下面直接进入主题,首先是创建一个工程,编写ACtivex控件有两种途径,一是MFCACtivex,二是ATLACtivex。这两者有什么区别呢,MFC做的控件附带了一系列MFC的运行库,虽然也是基于COM接口的,但相对来说就要比ATL大的多。而ATL做的控件则是完全基于COM技术的产品,所产生的OCX控件更小也更灵活(更灵活的代价是你需要多API函数很熟悉,对消息很了解才可以,因为没有经过MFC的封装所有的都要自己完成)。下面以一个MFC的ACtivex控件为例,创建一个新的项目:文件-新建-项目接下来几步都采用默认设置知道进入控件设置:#002#选中可见时激活和无闪烁激活,取消有“关于”对话框,点击-完成.至此,一个基于MFC的ACtivex的项目已经建立完成了。我们来为这个项目添加一个方法,先切换到类视图:#003#选择_DMFC_Activex右键添加方法,选择返回类型和参数类型,本例的返回类型为LONG,参数类型也为LONG,添加一个名为AddFun的函数。#004#添加完之后会在Ctrl中自动添加上一段代码:LONGCMFC_ActivexCtrl::AddFun(LONGadd1,LONGadd2){AFX_MANAGE_STATE(AfxGetStaticModuleState());//TODO:在此添加调度处理程序代码returnadd1+add2;//自己添加的返回数据add1+add2}接下来就是建立一个可以调试的环境,因为ACtivex控件不可以直接运行,它需要借助第三方的手段来使其运行。在VC6.0之中有个工具可以用来测试ACtivex,但VC2008中却没有这个工具,所以要建立一个HTML的网页调用这个控件,这也是测试ACtivex控件运行最理想的环境,因为它是在真实环境下的测试。在现有的项目中添加一个新建项-HTML页。之后输入下面的代码:HTMLHEADMETANAME=GENERATORContent=MicrosoftVisualStudio8.0TITLEDialogControl/TITLE//标题metahttp-equiv=Content-Typecontent=text/html;charset=gb2312/scriptlanguage=javascriptfunctionAddFun()//调用控件的方法{varobject=MFC_Activex.AddFun(11,12);alert(object);}/script/HEADBODYcenterOBJECTID=MFC_ActivexCLASSID=clsid:C9D6CF40-B5EC-436E-B3DA-D61B73DD28C2HEIGHT=600WIDTH=400cadebase=Debug\textMFC_Activex.ocx//这里是关键,MFC_Activex是项目名称,CLASSID的填写需要注意,要加上clsid否则网页上会弹出红叉,跟在其后面的是MFC_Activex这个项目的GUID,在.dil后缀文件的类信息那一项中。cadebase的值为所在工程文件中OCX控件的位置PARAMNAME=_VersionVALUE=65536PARAMNAME=_ExtentXVALUE=3329PARAMNAME=_ExtentYVALUE=2164PARAMNAME=_StockPropsVALUE=64/OBJECTfieldsetlegend测试页/legendtableborder=0cellspacing=0cellpadding=0width=100%trtdwidth=20%inputtype=buttononclick=AddFun()value=AddFun///添加一个名为AddFun的BUTTON/td/tr/center/BODY/HTML最后一步就是设置了,项目-属性-调试:在命令中填入:C:\ProgramFiles\InternetExplorer\IEXPLORE.EXE在命令参数中填入:$(InputDir)+你所创建的HTML文件名,比如:$(InputDir)ATLTEXT.htm其中InputDir是以宏插入的方式添加的。这些都做好了之后就可以用正常调试了,按F5就将自动弹出网页加载ACtivex控件

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功