创建

1、新建项目—>【ATL项目】,这里命名“ATLProject1”。下一步勾选【支持MFC】,然后完成。

2、右键项目—>【添加】—>【类】,选择【ATL控件】。

3、简称这里输入“AddFunc”,ProgID输入“ATLOcx”,然后点击【下一步】。选择支持【连接点】,再点击【下一步】。将【IObjectSafty】移动到右侧支持列表,这样可以在js调用ocx时,去除运行时的安全提示。最后点击【完成】。

4、项目选择【类视图】,在IAddFunc右键—>【添加】—>【添加方法】。
方法名为“AddInt”,两个LONG类型的输入参数arg1和arg2,以及LONG*类型的输出返回参数ret,然后点击【完成】。


5、切换到【解决方案资源管理器】,在AddFunc.cpp中实现刚才添加的方法AddInt。

STDMETHODIMP CAddFunc::AddInt(LONG arg1, LONG arg2, LONG* ret)
{AFX_MANAGE_STATE(AfxGetStaticModuleState());// TODO:  在此添加实现代码*ret = arg1 + arg2;return S_OK;
}


6、运行生成ATLProject1.dll,且自动注册到注册表当中。若未注册进去,可通过手动注册:以管理员身份运行cmd,通过指令【regsvr32 “F:\Zyh\vc++demo\ATLProject1\Debug\ATLProject1.dll”】完成注册,引号中为dll完整路径。
要想查看注册表,通过【win+r】输入“regedit”,在 HKEY_CLASSES_ROOT 下可以看到对应的CurVer和CLSID。

调用

编写html,通过ie打开(仅支持ie)。

<HTML>
<!-- saved from url=(0017)http://localhost/ -->
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"/>
<TITLE>对象 AddFunc 的 ATL 测试页</TITLE><script language="javascript" type="text/javascript">
function Button1_onclick() {var a = form1.add1.value;var b = form1.add2.value;try{var result = AddFunc.AddInt(a, b);alert(result); }catch(e){alert(e.name + ": " + e.message)}
}</script></HEAD>
<BODY>
<OBJECT ID="AddFunc" CLASSID="CLSID:EA8A1AFF-867F-40C8-BE14-FD854C35B68A"></OBJECT><form id="form1">add1<input name="add1" id="add1" type="text" value="1" size=20><br/>add2<input name="add2" id="add2" type="text" value="2" size=20><br/><input id="Button1" type="button" value="addInt" onclick="return Button1_onclick()" />  <br/><br/>  </form></BODY>
</HTML>

注意:
1、<!-- saved from url=(0017)http://localhost/ --> 这句话是为了打开html后不提示以下内容,可以自行去掉。

2、<OBJECT ID="AddFunc" CLASSID="CLSID:EA8A1AFF-867F-40C8-BE14-FD854C35B68A"></OBJECT> 这一句需要自行替换自己的CLSID。

vs2013开发简单ATL ocx控件相关推荐

  1. VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程

    VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程 开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是 ...

  2. Visual Studio开发MFC项目OCX控件添加使用控件方法

    1.在Windows系统中注册OCX控件 在OCX控件目录,右键新建一个文本文档,将文件名和扩展名改为"双击注册.bat",添加如下注册脚本: cd /d %~dp0 RegSvr ...

  3. Javascript调用OCX控件

    什么是ocx控件? 对象链接和嵌入用户控件(OCX)是一种可以由在微软的Windows系统中运行的应用软件创建使用的特殊用途的程序. 想知道究竟的可以看看这个帖子. http://www.tososo ...

  4. VB制作OCX控件的步骤

    下面列出制作OCX控件的步骤: 一:新建OCX 打开VB 选择新建工程在对话框中选择ActiveX 控件(如图一(map1.gif))打开后会见一空的文档这就是 OCX控件的初始界面.想看一看空OCX ...

  5. 海康威视视频ocx控件开发总结

    因工作需要,需要开发一个海康威视的视频ocx控件,嵌入到intouch,组态王一类的组态软件中使用. 之前从没做过ocx控件的开发,连MFC的开发也没做过,折腾了几天,终于基本完成.记录一下这个过程. ...

  6. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  7. DELPHI 开发的 OCX 控件在 MFC 程序中编辑框快捷键不好使的解决

    公司一个大型的项目中使用了 DELPHI 来开发 OCX 控件做数据库的管理,但是GIS图形系统使用 MFC 开发,最后将 OCX 嵌入到 MFC 程序中作为一个完整的系统交付用户使用,但是在使用过程 ...

  8. CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发, VC++源代码,OCX 控件源程序2018

    CAD制图, 机械CAD, 建筑CAD, 电力CAD, CAD设计, 数控与CAM, DXF导入\导出, 打印, 软件开发,VC++源代码,OCX 控件源程序2018 -- 100%源码开放企业级CA ...

  9. MFC .ocx控件开发

    本文将介绍ocx的含义,以及如何利用MFC创建ocx控件. 1.ocx控件的含义 OCX 是对象类别扩充组件(Object Linking and Embedding (OLE) Control Ex ...

最新文章

  1. Oracle事务的隔离
  2. Microsoft SQL server 2000 安装挂起 mssql 2000 挂起无法安装的问题
  3. 基于VHDL超声波测距实验
  4. python数据处理常用函数_Python常用数据处理函数
  5. Linux性能分析之网络篇
  6. 四款新旗舰即将发布:小米10和iPhone9领跑,价格惊喜
  7. 180729 5行命令win10企业版永久激活方法
  8. 23王道——建立中序线索树,找前驱后继,并用其遍历
  9. 计算历史区间的收益率,用前复权还是后复权?
  10. Android脑图--Android动画
  11. 网站接入QQ互联(JAVA版)
  12. 魅族便签,是否能成为国内便签应用的No.1?
  13. iOS-仿网易云音乐控制器
  14. c语言visit_数据结构(c语言)——入门数据结构的世界:顺序线性表(一)
  15. Lintcode 4 Ugly Number II
  16. 张艾迪(创始人):年少创业与干净的我
  17. 2014去哪儿网几道题
  18. postman的put方法
  19. 轻松学习JavaScript二十二:DOM编程学习之节点操作
  20. Win7旗舰版蓝屏解决办法

热门文章

  1. 微服务架构 | 如何利用好日志链路追踪做性能分析?
  2. Java计算机毕业设计 物业管理系统
  3. 克里金(Kriging)插值的原理与公式推导
  4. html 图片的过渡效果,3个CSS3图片过渡动画特效
  5. 使用matlab处理INCF采集数据,mdf(.dat)格式文件,并将将其写入excel文件
  6. HTML外部样式表如何引入CSS样式
  7. layui表格添加链接列_Layui表格列添加超链接
  8. 面向智能制造的工业工程和精益管理
  9. 手把手教你如何用selenium实现自动抽奖工具(穿越火线王者夺宝活动为例)
  10. javaweb和数据库的简易商城系统