Ocx控件使用入门

Ocx控件使用入门
1基本说明
使用VS进行ocx控件开发
使用html页面进行ocx控件测试,即将ocx控件嵌入到html页面中
2使用环境
Window 7
Visual Studio 2010 中文旗舰版,即VS2010
VAssistx
3编码过程
3.1创建工程(Project)
1、启动VS2010;
2、点击“文件→新建→项目(P)…”,输入名称[activexdemo]和路径[此处为默认],点
击“确定”,打开向导对话框;
3、一直点击“下一步”,知道出现下图界面,并按照下图进行配置;
4、点击“完成”;
5、在“解决方案视图”中,选择工程,右击→属性,弹出“属性页”对话框,在对话
框中按下图进行配置,点击“确定”,返回VS2010主界面;
6、在“解决方案视图”中,找到“activexdemo.rc”,并进行下图操作;
7、点击“查看代码”,修改代码中的如下内容;
BEGIN
BLOCK"StringFileInfo"
BEGIN
BLOCK"040904e4"
BEGIN
VALUE"CompanyName", "TODO: <公司名>"
VALUE"FileDescription", "TODO: <文件说明>"
VALUE"FileVersion", "1.0.0.1"
VALUE"InternalName", "activexdemo.ocx"
VALUE"LegalCopyright", "TODO: (C) <公司名>。

保留所有权利。

"
VALUE"OriginalFilename", "activexdemo.ocx"
VALUE"ProductName", "TODO: <产品名>"
VALUE"ProductVersion", "1.0.0.1"
VALUE"OLESelfRegister", ""
END
END
BLOCK"VarFileInfo"
BEGIN
VALUE"Translation", 0x409, 1252
END
END
8、此时,工程创建成功。

3.2添加控件方法
1、在“类视图”中,按照下图方法操作;
2、点击“添加方法”后,在弹出的对话框中进行如下图配置,点击“完成”;
3、在“解决方案视图”中,找到“activexdemoCtrl.cpp”,并打开,可以看到AddFun(求
和)方法,如下图所示;
4、修改AddFun函数,内容如下:
5、此时,已完成为控件添加了一个方法,调用该方法即可得到a与b的和。

3.3添加控件事件
1、在“类视图”中,按照下图方法进行操作;
2、点击“添加事件”后,在弹出的对话框中进行如下图配置,点击“完成”;
3、在“解决方案视图”中,找到“activexdemoCtrl.h”,并打开,可以OnCallback事件;
4、在“解决方案视图”中,找到“activexdemoCtrl.cpp”,并打开,可以看到AddFun(求
和)方法,如下图所示;
5、修改AddFun函数,内容如下:
6、此时,已完成为控件添加一个事件,调用AddFun方式时,会触发OnAddCallback
事件。

4测试过程
4.1注册ocx
1、找到ocx所在的文件夹,按照下图所示,建立两个文本文档“reg.bat”和“unreg.bat”,
使用记事本分别打开,并按图输入内容,输入完成后保存;
2、双击“reg.bat”,即可完成ocx控件的注册;
3、双击“unreg.bat”,即可完成ocx控件的反注册(卸载);
4、要使用ocx控件就必须注册。

4.2编写html
1、在“解决方案视图”中,右击工程,按照下图进行操作;
2、点击“新建项”,在弹出的对话框中选择“HTML页”,输入名称[test_activexdemo],
如下图所示;
3、修改html页面,内容如下:
<HTML>
<HEAD>
<META NAME="GENERATOR"Content="Microsoft Visual Studio 8.0">
<TITLE></TITLE>
</HEAD>
<BODY>
<script language="javascript"type="text/javascript">
<!--
function executeAddFun() {
var ct = document.getElementById("oadd");
var rt = ct.AddFun(133, 123);
alert("133+123=" + rt);
}
function callback(a, b) {
alert("callback:" + a + "|" + b);
}
function callback(only) {
alert("callback:" + only);
}
// -->
</script>
<!--定义activex控件,classid值为"activexdemo.idl"中"coclass activexdemo"的特
性值-->
<object id="oadd"name="oadd"
style="LEFT: 0px; WIDTH: 30%; TOP: 0px; HEIGHT: 30%"
classid="clsid:279AE201-6D51-47E9-BBF4-73C92102E793">
</object>
<!--监听activex控件事件-->
<!--callback(a,b)响应事件的方法-->
<!--若只需要打印a的值,则可以调用callback(a),这个a就是
EVENT="OnAddCallback(a,b)"中的a-->
<!--同理,若只需要打印b的值,则可以调用callback(b),若输入callback(c)则无法正常打印消息-->
<SCRIPT type="text/javascript"FOR="oadd"EVENT="OnAddCallback(a,b)">
callback(a,b);
</SCRIPT>
<!--触发方法的按钮-->
<button id="btnAdd"name="测试加"onclick="executeAddFun();"style="width: 60px; height: 30px">
测试
</button>
</BODY>
</HTML>
4.3测试
使用IE浏览器打开[test_activexdemo]即可。

5打包过程。

合集下载

车牌识别OCX控件使用说明

车牌识别OCX控件使用说明

文通快号通车牌识别系统——V4.2.7.0版OCX控件使用说明2012年12月修改历史2012年9月21日配置结构体中增加倾斜校正功能(bLeanCorrection)使用参考TH_PLATEID识别核心库说明文档.pdf2012年9月21日配置结构体中增加输出车牌的控制选项(nOrderOpt)使用参考TH_PLATEID识别核心库说明文档.pdf一控件说明:1.1 环境配置(1)Windows XP/2003/vista32操作系统;(2)ThplateDsp_WinTone.ocx配置文件:TH_PLATEID.dll 车牌识别核心文件;LPKernel.cfg ocx控件配置文件;mvavi.dll、MVAPI.dll 微视采集卡核心库。

(3)注册ThplateDsp_WinTone.ocx控件。

方法如下:点击“开始”——>“运行”,在弹出对话框中写入“regsvr32”,如图:然后左键点击ThplateDsp_WinTone.ocx直接拖动到regsvr32后面,点击“确定”弹出注册成功的提示,如下图:1.2 OCX CLSID :7BDB048F-ABAD-482F-A099-1638D91402121.3 OCX控件说明支持Directshow开发的视频采集卡均可用ocx控件开发单路视频识别;如果要用ocx 开发多路视频识别需使用微视V411采集卡。

二控件功能2.1 视频识别(1)识别结果包括:1)车牌号码;2)车牌颜色;3)车牌类型;4)车辆运动方向;5)车牌宽度;6)车牌识别可信度;7)识别时间。

(2)支持多路视频识别(加密锁分为1,2,4,8路)。

(3)支持高清视频。

2.2 图片识别(1)识别结果包括:1)车牌号码;2)车牌颜色;3)车牌类型;4)车牌宽度;5)车牌识别可信度;6)识别时间。

(2)支持单张图片识别多车牌。

(3)支持高清图片。

2.3 录像功能录制的视频文件为avi格式。

车牌识别一体机OCX控件使用文档

车牌识别一体机OCX控件使用文档

Activcex控件使用说明1.开始使用运行install.bat (在Vista、Win7、Win8下,请调整用户UAC等级到最低,或者以管理员方式运行。

之前如果安装过,请先运行uninstall.bat)若以管理员身份注册不成功,则请手动注册,如下图2.接口说明2.1VzLPRClientOpen (打开车牌识别一体机设备)long VzLPRClientOpen (LPCTSTR strIP,short port,LPCTSTR strUserName,LPCTSTR strPassword);ParametersstrIP [in] 设备IP地址port [in] 设备序列号strUserName[in] 设备用户名strPassword[in] 设备密码Return Values返回设备的操作句柄,当打开失败时,返回0。

Examplea) 直连打开视频VzLPRClientOpen ("192.168.1.81", 80, "admin", "admin");2.2VzLPRClientClose (关闭车牌识别一体机设备)BOOL VzLPRClientClose (long lprHandle);ParameterslprHandle [in] 设备句柄Return ValuesFALSE 表示失败,TRUE表示调用成功。

2.3SetWindowStyle (设置控件多分割窗口风格)void SetWindowStyle(SHORT nSytle);ParametersnSytle [in] 窗口风格(1画面,4画面,9画面,16画面)2.4VzLPRClientStartPlay (播放视频)long VzLPRClientStartPlay (long lprHandle,SHORT winIndex);ParameterslprHandle[in] 设备句柄nWindowID [in] 窗口号(编号从0-15 )Return Values-1 表示失败,0表示调用成功。

VISUAL C++中的OCX控件的使用方法

VISUAL C++中的OCX控件的使用方法

VISUAL C++中的OCX控件的使用方法新一代32位操作系统WINDOWS 95舍弃了VBX控件,取而代之的是OCX 控件。

OCX控件具有功能强大,界面美观的特点,然而许多参考书中并没有详细阐述OCX控件的使用方法,使得一些如数据库表格,远程数据控件等接口复杂的OCX难于使用。

这里将详细阐述OCX的使用方法。

首先提醒读者要注意的是:使用OCX构件之前,必须登记注册,否则不能使用。

安装VISUAL C++时,系统自动注册登记软件附带的OCX控件。

如果不幸没有登记,那么请使用REGSVR32应用程序来注册。

以VISUALC++ 5.0为例,用AppWizard生成MFC应用程序分为六个步骤,其中第三个步骤中可以指定支持OLE控制,也就是我们要使用的OCX控件(是OLE的一种)。

如果指定该选项,则AppWizard将自动向应用程序添加以下两处代码。

一处是为了说明OLE自动类如ColeDispathcDriver,自动向Stdafx.h 中加入头文件afxdisp.h二是在InitInstance函数中激活OLE控制容器:AfxEnableContainer();如果在利用AppWizard创建应用程序是未指定OLE控制选项,则可以手工加入以上两行代码。

在生成应用框架后,首先应向应用程序加入OCX控件对应的类,如远程数据控件的缺省名为RDC,而数据表格的缺省名为MSDBGRID。

加入的过程是选择Project菜单项,选择Add to Project,选择Components and Controls项,选择Registered ActiveX Controls项,双击你要加入的构件。

然后,通常是在对话框中加入OCX控制,这时应在对话框中单击右键,选择Insert ActiveX Controls,选择你要加入的控件。

这里以远程数据控件为例。

可以在设计时设定属性,当然,在运行时刻再设置属性值更具有灵活性。

C#下OCX控件的完美使用

C#下OCX控件的完美使用

C#下OCX控件的完美使⽤C#下OCX控件的完美使⽤在中,我当时没有把OCX的使⽤⽅法说清楚,主要原因是我那时有⼀个核⼼问题没有解决好,后来在CodeProject中看到⼀篇⽂章,⼀下解开了⼼中多年的疑惑,豁然开朗。

在这⾥分享⼀下最新的研究成果。

OCX使⽤的关键问题点其实OCX使⽤中,有两个关键点需要解决:1、如何获取到AxInterop⽂件2、Visual Studio 设计Form时,可以在⼯具箱位置找到OCX控件,且使⽤我们⾃⼰的Axinterop。

只要⼤家亲⾝使⽤过OCX控件就会有体会,以前我都是直接在⼯具箱⾥⾯点击添加项,然后选COM页签,找到我想要的控件,最后选中确认。

此时VS会进⾏⼀连串的TlbImp和AxImp操作,然后给你⾃动⽣成⼀⼤堆的Interop和AxInterop,简直是⾃动的不要不要的。

但是以前⽂章中说过的COM Interop 拖家带⼝问题和ADODB问题,会造成你的项⽬引⽤⾮常混乱,2008系统会各种报错。

加之U8的COM组件和OCX控件引⽤关键错终复杂,搞得我最后⼀听说要画控件在Form上就恶⼼。

我也在⽹络上找了很多资料,不管是国内的还是国外的论坛,基本回答都是⼿⼯使⽤AxImp加上rcw参数,解决引⽤问题。

然后都不说怎么在VS的⼯具箱⾥增加控件。

后来我测试发现,rcw参数也解决不了ADODB错误。

我也就没有在深⼊研究下去。

有兴趣的可以看看我之前的⽂章,rcw参数和TlbImp的reference参数差不多。

OCX⽌吐关键技术AxInterop引⽤关系解决第⼀个问题,AxInterop引⽤错误问题,还是建议使⽤IL⼯具进⾏编译修改。

如果不会或者不明⽩看我之前的。

换⾔之,我们必须先得到⼀个已经解决了引⽤关系的Axinterop。

VS⼯具箱引⽤解决VS⼯具箱引⽤问题,其实并不难,这⾥仅仅需要使⽤到AxImp⼯具的⼀个参数,直接给⼤家看⼀下命令⾏C:\ax>aximp /source "c:\u8soft\ufcomsql\vsflex8u.ocx"⽣成的源: C:\ax\AxVSFlex8U.cs⽣成的程序集: C:\ax\VSFlex8U.dll⽣成的程序集: C:\ax\AxVSFlex8U.dll简单说,我们这⾥利⽤aximp的⼀个叫做srource的参数,搞出来⼀个C#版本的源码⽂件,引⼊项⽬,并通过修改这个⽂件的代码就可以让控件显⽰在⼯具箱⾥⾯了。

写卡器OCX控件demo说明

写卡器OCX控件demo说明

写卡器OCX控件demo说明
一、首先,运行之前请先注册控件!运行reg.bat即可。

并确认windows的“Smart Card”服务是否已经启动!右键点击“我的电脑”,然后选择“管理”,选择“服务和应用程序”中的“服务”,在右面的菜单列表中找到“Smart Card”服务,启动之后退出。

二、双击demo.htm,允许阻止的ActiveX控件。

三、测试列出写卡器接口。

点击【列出写卡器【按钮,下拉框里便列出与电脑相连的所有读卡器,这里使用的是OMNIKEY的,选择这个。

四、测试连接写卡器接口。

点击【连接写卡器】按钮,连接成功返回0。

如果连接不成功,会有具体的报错,请检查驱动是否安装,插口是否插紧,智能卡片是否已经插入写卡器等。

五、测试发送指令接口。

以读取卡片的ICCID号为例,此操作需要三个命令:
1、A0A40000023F00
2、A0A40000022FE2
3、A0B000000A
在发送命令内容里依次输入,点击【发送命令】按钮,如果发送指令不成功,会有具体报错信息,最后一条指令返回信息“98 68 10 11 11 11 11 11 11 11 90 00”,9900是状态值,ICCID 卡号即是“89860111111111111111”。

六、测试断开连接接口。

点击【断开连接】按钮,断开连接成功返回0。

如果不成功,会有具体的报错,请检查插口是否插紧,智能卡片是否已经插入写卡器等。

C#中调用OCX控件

C#中调用OCX控件

一、C#中调用OCX控件调用OCX控件的步骤:1、在系统中注册该ocx控件,命令:regsvr32.exe 控件位置(加 /u 参数是取消注册)2、在.net的工具箱中添加该控件,拖到form中去就可以了。

不用工具箱的话,自己手工添加,需要注意一个问题,就是要用Aximp.exe来包装一下ocx控件的类,然后再程序中引用生成的dll就可以了。

aximp [options]{file.dll | file.ocx}The following command generates MediaPlayer.dll and AxMediaPlayer.dll for the Media Player control msdxm.ocx.aximp c:\systemroot\system32\msdxm.ocxActiveX 控件导入程序将 ActiveX 控件的 COM 类型库中的类型定义转换为 Windows 窗体控件。

Windows 窗体只能承载 Windows 窗体控件,即从 Control 派生的类。

Aximp.exe 生成可承载于 Windows 窗体上的 ActiveX 控件的包装类。

这使您得以使用可应用于其他 Windows 窗体控件的同一设计时支持和编程方法论。

若要承载 ActiveX 控件,必须生成从 AxHost 派生的包装控件。

此包装控件包含基础 ActiveX 控件的一个实例。

它知道如何与 ActiveX 控件通信,但它显示为 Windows 窗体控件。

这个生成的控件承载 ActiveX 控件并将其属性、方法和事件公开为生成控件的属性、方法和事件。

如果不包装一下直接用,会出现灾难性错误。

上面已经说明了原因。

在项目中引用生成的ax开头的dll,在窗体代码中增加:声明一个公有的控件对象:public AxISPICRECLib.AxISPICREC AxISPICREC;在InitializeComponent()方法内初始化控件:AxISPICREC = new AxISPICRECLib.AxISPICREC();//必须new对象,否则窗体设计器出问题((ponentModel.ISupportInitialize)(this.AxISPICREC)).BeginInit();//初始化开始this.Controls.Add(this.AxISPICREC);//添加控件((ponentModel.ISupportInitialize)(this.AxISPICREC)).EndInit();this.AxISPICREC.OcxState =((System.Windows.Forms.AxHost.State)(resources.GetObject("AxISPICREC.OcxState")));//设计控件状态如果遇到“正试图在 os 加载程序锁内执行托管代码”这个错误,请设置“调试”--“异常”"----"Managed Debugging Assistants"中勾掉"LoaderLock" 就可以了。

ocx控件注册方法

ocx控件注册方法OCX(Ole Control Extension)控件是一种用于创建可重用的二进制模块的技术。

它可以轻松地将功能嵌入到Windows应用程序中,并且允许其他应用程序通过标准化接口进行调用。

注册OCX控件是将其正确安装并引入Windows系统,以便其他应用程序可以使用的关键步骤。

下面是有关OCX控件注册方法的参考内容。

1. 注册OCX控件要将OCX控件注册到Windows系统中,可以使用“regsvr32”命令。

在开始菜单的搜索栏中键入“cmd”,并以管理员身份运行命令提示符。

然后,使用以下命令来注册OCX控件:```regsvr32 <ocx文件路径>```确保将`<ocx文件路径>`替换为实际的OCX文件路径。

例如:```regsvr32 C:\Windows\System32\example.ocx```运行命令后,会显示一个对话框,确认OCX控件是否成功注册到系统中。

2. 注销OCX控件如果需要从Windows系统中注销OCX控件,可以使用以下命令:```regsvr32 /u <ocx文件路径>```同样,确保将`<ocx文件路径>`替换为实际的OCX文件路径。

例如:```regsvr32 /u C:\Windows\System32\example.ocx```注销OCX控件后,将无法再在其他应用程序中使用它。

3. 解决注册问题在注册OCX控件时,可能会遇到一些问题。

以下是一些常见的问题及其解决方法:- 缺少依赖文件:有时,OCX控件可能依赖于其他文件。

在注册之前,请确保将所有依赖文件复制到相应的目录中。

- 权限问题:要注册OCX控件,需要管理员权限。

如果您没有权限,请尝试以管理员身份运行命令提示符。

- 文件路径错误:确保提供了正确的OCX文件路径,并且文件实际上存在于指定路径中。

4. 兼容性问题注册OCX控件的过程中,可能会遇到与Windows版本和位数不兼容的问题。

OCX控件注册

打开软件时提示错误如图
双击打开Ocx控件。

提示注册成功则说明无需再注册,不提示就需要手动注册。

注册操作:首先找到目的控件,选择打开方式,选择路径C:\WINDOWS\system32 \ regsvr32.exe 打开。

1.日历控件CnCalendar.ocx。

先找到日历控件(本公司程序和数据安装在D盘),一般在可执行文件的同一目录。

2.图片控件AutoVueX.ocx 。

(软件进去后,点击没反应也是提示
安装图片控件)。

先找到图片控件(本公司程序和数据安装在D盘),
在桌面上找到Xundaerp图标右击“属性”,点击“查找目标”。

在AutoVue文件夹下,找到AutoVue控件图片双击打开。

如图显示(注册成功的会提示已注册成功,不成功弹出打开方式的对话框)
图片控件
“浏览”--选择路径C:\WINDOWS\system32 \ regsvr32.exe 打开
注:始终使用选择。

处要勾选。

3.如果是win7及以上系统注册控件时提示注册失败,则用以下方式注册:
开始菜单-附件-找到“命令提示符”,右键已管理员身份运
行。

在里面输入regsvr32 D:\xundasoft\CnCalendar.ocx (注意控件的路
径不能有中文和空格) 然后回车即可。

c++中使用ocx控件的调用方法

在本文中,我将为你介绍如何在C++中调用OCX控件。

OCX(Ole Control Extension)是Microsoft的一种特殊类型的动态信息库(DLL),用于创建可重用的交互式控件。

在C++中使用OCX控件需要引入相应的头文件,并调用其接口以实现交互和功能。

以下是详细的步骤和方法:1. 引入头文件你需要包含相应的OCX控件的头文件,这样才能在C++中使用它的接口和功能。

通常情况下,OCX控件会提供一个专门的头文件,你需要在你的C++代码中引入这个头文件以便使用其功能。

2. 创建OCX控件对象一旦引入了OCX控件的头文件,你就可以在C++代码中创建OCX控件的对象。

这需要使用控件的类名和CLSID来创建控件对象,通常是通过调用CoCreateInstance等函数来实现。

3. 调用控件接口一旦创建了OCX控件的对象,你就可以通过调用其接口和方法来实现相应的功能。

根据控件提供的接口文档和说明,你可以调用相应的方法来实现你需要的功能,比如显示、交互等。

4. 销毁对象在C++代码中使用OCX控件之后,记得及时销毁对象,释放资源,以避免内存泄漏和性能问题。

总结和回顾在本文中,我们详细介绍了如何在C++中使用OCX控件的调用方法。

你需要引入相应的头文件,然后创建控件对象,调用其接口来实现功能,最后记得销毁对象以释放资源。

通过这些步骤,你可以在C++中轻松使用OCX控件,并实现你需要的交互和功能。

个人观点和理解OCX控件在Windows评台下广泛应用,它为开发者提供了丰富的可重用控件,方便了程序的开发和交互。

在C++中调用OCX控件需要注意内存管理和资源释放,以避免出现问题。

深入理解OCX控件的接口和功能,可以帮助开发者更好地利用其强大的功能,提高程序的交互性和用户体验。

通过本文的介绍,你应该能够清楚地了解在C++中使用OCX控件的调用方法,包括引入头文件、创建对象、调用接口及资源释放等关键步骤。

希望这篇文章对你有所帮助,有更多疑问和需求欢迎继续沟通。

国腾OCX控件用户手册

GT2IDROCX控件使用说明一、控件简介:提供者:深圳国腾。

版本号:V2.0 。

功能概述:显示二代身份证信息。

二、控件适用环境:本控件可在Windows 98/2000/XP 下支持ActiveX 的任何开发环境中使用,如Visual Baisc 、Delphi 、C++Builder 、Visual C++ ,网页开发环境等。

三、控件属性说明:(1)检测设备连接是否正确:GetState()返回值:数字’0’-表示设备正常;’<0’ -表示设备错误,对应错误码表:-4: 未检测到设备说明:检测设备连接是否正确,不正确则返回不正确原因。

(2)读取二代证信息方法:ReadCard()返回值:数字’0’-表示读卡成功;’<0’ -表示读卡失败,对应错误码表:-4:未检测到设备-6:未检测到卡说明:通过网页按钮等事件触发读卡方式。

(3)读取二代证信息方法:ReadCard2()。

返回值:数字’0’-表示读卡成功;’<0’ -表示读卡失败,对应错误码表;说明:自动读卡方式,用户身份证放在设备上即自动读卡,该接口可选做。

(4)属性Name/NameL返回值:字符串(BStr)。

Name –卡片中储存的姓名。

NameL –处理过的姓名。

说明:区别在于Name中两个字名称中间有空格,NameL则去除了空格。

如:Name = 张三 NameL = 张三(5)属性Sex/SexL返回值:字符串(BStr)。

Sex –卡片中储存的性别代码。

SexL –处理过的性别。

说明:区别在于Sex返回国家标准的性别代码,SexL则根据2005年国家标准翻译出性别。

如:Sex = 1 SexL = 男(6)属性Nation/NationL返回值:字符串(BStr)。

Nation –卡片中储存的民族代码。

NationL –处理过的民族。

说明:区别在于Nation返回国家标准的民族代码,NationL则根据2005年国家标准翻译出民族。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档