求ActiveX开发例子----菜鸟求助 我需要一个简单的例子,网页代码调用我的ActiveX,传给我一个参数,然后我的ActiveX函数处理完返回给网页几个参数,网页不需要展现我的ActiveX控件,只需要调用我的函数完成数据的读取。 我在网上找了好久,由于我是初学者,资料一般都很复杂,我都看了好几天的资料了,好像是要一个MFCServer的ActiveX的工程就能完成,可是我建工程就建立不出来server的工程。 各位高手,帮帮忙!谢谢!activexmfc服务器控件 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你怎么不看看孙鑫视频呢 activeX控件那一章节.看1~2遍 自己就能写个 http://www.vckbase.com/index.php/wv/1216.html不管是MFCServer还是其它的什么COM组件,都可以用ATL简单对象来创建, 所以不用担心这样写出来的东西网页调用不了编译之后可以使用regsvr32注册/卸载这个控件注册:regsvr32 "Release/XXX.ocx"卸载:regsvr32 /u "Release/XXX.ocx"如果你编译的后缀名是dll就改成dll, 默认都是dll的后缀名, 这个没有影响网页里面调用示例:<HTML> <HEAD> <TITLE>TMS</TITLE> <object id=MyActiveX classid="CLSID:9E282FFE-F5D0-44F4-BB74-B99323342EB7"></object> 红色的字就是你工程里面这个控件的UID,在idl文件的末尾处在[]之间的就是这个uid, 或者你搜索class DECLSPEC_UUID 后面跟的串就是这个控件的uid用这个股uid在html页面里面就创建了控件的对象, 使用MyActiveX可以调用控件里面提供的方法。如:function Add(x, y){ MyActiveX.Add(x, y);} 补充一下。1、按照杨老师的方法创建一个ATL工程, 编译Realease版本2、开始--运行--cmd打开命令行,敲入regsvr32+空格+Realease目录下的控件名(XXX。DLL)3、网页代码里面使用这个控件:<HTML> <HEAD> <TITLE>TMS</TITLE> <object id=MyActiveX classid="CLSID:9E282FFE-F5D0-44F4-BB74-B99323342EB7"></object> <script language="javascript"> function Add(X, Y) { MyActiveX.Add(X, Y); }</script> </HEAD><BODY> <input type="button" value="add" id="btnAdd" onclick="Add();"></input> </BODY> </HTML> 非常感谢 wumn29 的讲解,谢谢!由于对于基于ATL和MFC之间区别不是很清楚,所以一直徘徊在MFC的ActiveX的区域中。弱弱的问一下,我的vs2008好像不能建立ATL的ActiveX控件。下面是我的工程建立过程:在最后这个选择中,无论我选不选COM那个复选框,得到的工程编译时都没有.ocx文件生成,好奇怪了。知道原因吗? 你这样建立工程是对的,建立之后有两个工程, 那个XXXServer的不用管, 只管XXX就行了,编译之后默认是生成一个dll, 可以在属性--链接器--输出文件 改扩展名为ocx选择工程的右键菜单---添加--类 ,然后弹出窗口, 如下图选择ATL简单对象即可 如何创建个性画笔? 初学者,不知错在哪! 打印设置对话框问题?在线等待。。。 对话框中的Onpaint()函数 100分求VC6 installshield制作安装程序详细过程,参与有分(不够再补) 关于用SQL语言查询ACCESS数据库的简单问题 程序运行半道,自已消失了。不是不内存有溢出啊? 如何书写_int64数据类型 送分,如何开发中文版的安装程序 vc++的高手请来!!! PostMessage发送消息传送结构体数组的问题 贝塞尔曲线扭曲图片
不管是MFCServer还是其它的什么COM组件,都可以用ATL简单对象来创建, 所以不用担心这样写出来的东西网页调用不了编译之后可以使用regsvr32注册/卸载这个控件
注册:regsvr32 "Release/XXX.ocx"
卸载:regsvr32 /u "Release/XXX.ocx"如果你编译的后缀名是dll就改成dll, 默认都是dll的后缀名, 这个没有影响网页里面调用示例:
<HTML>
<HEAD>
<TITLE>TMS</TITLE>
<object id=MyActiveX classid="CLSID:9E282FFE-F5D0-44F4-BB74-B99323342EB7"></object>
红色的字就是你工程里面这个控件的UID,在idl文件的末尾处在[]之间的就是这个uid, 或者你搜索class DECLSPEC_UUID 后面跟的串就是这个控件的uid
用这个股uid在html页面里面就创建了控件的对象, 使用MyActiveX可以调用控件里面提供的方法。
如:
function Add(x, y)
{
MyActiveX.Add(x, y);
}
1、按照杨老师的方法创建一个ATL工程, 编译Realease版本
2、开始--运行--cmd打开命令行,敲入regsvr32+空格+Realease目录下的控件名(XXX。DLL)
3、网页代码里面使用这个控件:
<HTML>
<HEAD>
<TITLE>TMS</TITLE>
<object id=MyActiveX classid="CLSID:9E282FFE-F5D0-44F4-BB74-B99323342EB7"></object>
<script language="javascript">
function Add(X, Y)
{
MyActiveX.Add(X, Y);
}
</script>
</HEAD>
<BODY>
<input type="button" value="add" id="btnAdd" onclick="Add();"></input>
</BODY>
</HTML>
弱弱的问一下,我的vs2008好像不能建立ATL的ActiveX控件。
下面是我的工程建立过程:在最后这个选择中,无论我选不选COM那个复选框,得到的工程编译时都没有.ocx文件生成,好奇怪了。知道原因吗?
你这样建立工程是对的,建立之后有两个工程, 那个XXXServer的不用管, 只管XXX就行了,编译之后默认是生成一个dll, 可以在属性--链接器--输出文件 改扩展名为ocx选择工程的右键菜单---添加--类 ,然后弹出窗口, 如下图选择ATL简单对象即可