ActiveX控件使用总结

开发环境:vs2015
上网找了很多关于这方面的资料进行学习。
终于给我找到几个比较好的文章。
因为知识比较老。一般是接触硬件和底层的人才会去学习。

参考文章:这是两个比较好的文章
ActiveX控件的基本操作方法以及如何在VS2010下使用控件
https://blog.csdn.net/u014028070/article/details/38424611
c++ ActiveX基础1:这个讲了如何提供外部接口调用
https://blog.csdn.net/qq445803843/article/details/45845585

下面演示生成控件,html调用控件的例子
在这里插入图片描述

一、创建控件

1.先创建ActiveX项目
在这里插入图片描述
到这里不急着敲代码
先了解一下控件项目的架构。
参考:一个别人分享的资源文档。我会在文章最下面分享链接。
找到类视图,分析对应结构。
在这里插入图片描述
其中的 CActiveXApp 是我们这个控件的主程序模块,定义了控件的注册
(DllRegisterServer)、删除(DllUnregisterServer)等功能,一般不用动,如有需要我们可以
在其中的 InitInstance 和 ExitInstance 中定义我们自己的初始化和终止操作代码,一般也就是
一些资源的初始化和销毁工作。
Caxtivexdemo1Ctrl 是控件类,我们要做的控件功能基本上就是要在这个类中实现。
需要提一下的是在这个类中重写了父类的 OnDraw 函数,有如下两句代码:
pdc->FillRect(rcBounds,
CBrush::FromHandle((HBRUSH)GetStockObject(WHITE_BRUSH)));
pdc->Ellipse(rcBounds);
也就是在控件上画了一个椭圆,实际控件开发中可以根据功能需要修改重写这个函数来
绘制控件界面。
CActiveXPropPage 是属性页类,这个类实现了一个在开发时设定控件属性的对话
框。
CActiveXLib 是为客户程序提供本控件的属性、方法以及可能响应的事件的接口的
库节点,在添加控件的这些功能的时候会用得到。

2.创建对外的接口

定义调度映射和事件映射方法,提供给外部调用者使用
在这里插入图片描述
右键-添加-添加方法-确定
生成一个对外的接口函数
例子:Start()

在这里插入图片描述
会在3个地方添加代码。
1.idl文件
在这里插入图片描述
2.ctrl控制类的定义和实现
在这里插入图片描述
到这里控件就OK了。
生成项目即可。会生成一个ocx文件。
这里建议大家把注册输出改为否。
后面自己手动注册即可。下面有描述。
在这里插入图片描述

事件–映射返回数据

右键添加–事件
在这里插入图片描述

在这里插入图片描述
正常函数调用
在这里插入图片描述

属性返参:

在这里插入图片描述
右键–添加–属性
在这里插入图片描述

页面调用:

	<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>testAll</title>

    <style>
        *.button {
            height: 50px;
            padding-left: 20px;
            padding-right: 20px;
        }
    </style>
</head>
<body>
    <div style="position: fixed;top: 20px">
        <label for="">结果</label>
        <input type="text" id="result" style="width: 600px;">
    </div>
    <div style="position: fixed; top: 50px">
        <div>
            <object classid="clsid:C468DFBB-2F32-4CA6-8461-1791A29A4B00" id="ocx" width="0px" height="0px"></object>
        </div>
        <h3>非阻塞接口</h3>
        <div>
            <input class="button" type="button" value="test" onclick="onTest()">
        </div>
    </div>
	
	
	<!-- 事件处理 -->
	<script>
		function onTest() {
			
			var resp_str =ocx.start();		
			result.value = ocx.pOutInfo;
	       
		}
	</script>
</body>

</html>

二、使用控件–使用html方式调用控件

1.注册控件。
注册方式。我是用bat方式的。比较方便。
%~dp0的意思是当前路径。
注册bat:
cd /d %~dp0
regsvr32 ActiveX.ocx
反注册bat:
cd /d %~dp0
regsvr32 -u ActiveX.ocx
右键管理员模式运行即可成功注册。
在这里插入图片描述

2.html调用ocx
html学习网址:
https://www.w3school.com.cn/html/index.asp
代码:

<html>   
    <head>   
        <title> TestOCX </title>   
    </head>   
    <body>   
    <object ID= "L"  CLASSID= "CLSID:54B420A3-05D9-462D-9AFF-178E63670DB9"  
        width=300 height=200>   
    </object>   
	<script language="javascript" type="text/javascript">
	function myTest()
	{
		L.Start();
	}
	</script>

	<input id="Button1" type="button" value="test"  onclick="myTest();" />   
    </body>   
</html>   


解释:
在这里插入图片描述
需要使用IE浏览器打开。
在这里插入图片描述
成功!!!

添加捕捉ActiveX控件的事件数据

1.右键类视图里的控制类–添加事件
在这里插入图片描述
添加后会在2个地方添加代码:
在这里插入图片描述
在这里插入图片描述
然后生成控件后使用html

html添加代码:

		<!-- 事件处理 函数名就是你定义的事件名 -->
		<script type="text/javascript" for="L" event="OnDo(data)">
			L.value = data;
			alert(data);
		</script>

在这里插入图片描述
成功捕捉事件数据!!!

三、使用控件–使用MFC方式调用控件

1.到Dialog右键插入已经注册好的控件
在这里插入图片描述
2.右键控件处添加变量

添加变量后即可调用你的控件内的接口!!!

如果要去掉提示弹窗:
参考下面文章:
去掉弹窗
1.遇到窗口下弹窗
https://zhidao.baidu.com/question/252382360.html
2.提示弹窗
https://zhidao.baidu.com/question/304928075497826844.html

基于MFC的ActiveX控件开发.pdf
链接:https://pan.baidu.com/s/17kilQgwdRtAt3PHrJgDrCg
提取码:bhnr

修改时间:2021-06-07

  • 5
    点赞
  • 32
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
### 回答1: Flash32 ActiveX 是一个用于在 Windows 操作系统下运行 Adobe Flash Player 的插件。它作为一个浏览器扩展程序,允许用户在网页上播放 Flash 动画、视频和游戏等多媒体内容。 Flash32 ActiveX 提供了多种功能和特性,包括流畅播放动画、实时音频和视频播放、处理用户交互以及支持多种图形效果等。它能够与各种网页浏览器兼容,例如 Internet Explorer、Google Chrome 和 Mozilla Firefox 等。 然而,随着时代的进步,HTML5 技术的崛起,Adobe Flash Player 的使用率逐渐降低,以至于在目前大多数浏览器版本中已经被弃用。这是因为 Flash Player 存在安全漏洞、性能低下以及对移动设备的支持不佳等问题。 因此,Adobe 宣布在2021年12月底之前停止 Flash Player 的更新和分发,并强调用户应该卸载该插件,以确保网络安全。与此同时,网页开发者们已经开始使用 HTML5 替代 Flash 来创建多媒体内容。 在现代互联网环境中,Flash32 ActiveX 已经不再被广泛使用,其存在风险和限制已被广泛认知。用户应该及时卸载该插件,并确保使用最新版的浏览器,以获得更好的安全性和浏览体验。 ### 回答2: flash32 Activex是一种用于支持Adobe Flash Player在Windows操作系统上运行的插件。Adobe Flash Player是一种常用的多媒体平台,用于播放Flash格式的视频和动画。在许多网页浏览器和应用程序中都需要使用Flash Player来显示和运行Flash内容。 Flash32 Activex是指用于32位Windows操作系统的Flash Player插件。它采用了ActiveX技术,可以在支持ActiveX控件的应用程序中使用。这意味着开发者可以将Flash32 Activex嵌入到自己的应用程序中,从而实现Flash内容的播放和交互。 Flash32 Activex具有一些特征和功能。首先,它可以播放各种类型的Flash内容,包括视频、动画和交互式应用程序。其次,它支持各种控件和接口,开发者可以利用这些控件和接口来自定义Flash内容的显示和交互方式。此外,Flash32 Activex还具有安全特性,可以帮助防范潜在的恶意代码和漏洞攻击。 Flash32 Activex在过去的几十年里被广泛使用,然而,随着HTML5技术的发展和流行,Flash正逐渐被淘汰。许多主流浏览器已经不再支持Flash,因为它存在安全风险,并且HTML5提供了更先进和更安全的替代方案。 在总结上述内容时,Flash32 Activex是一种用于32位Windows操作系统的Flash Player插件,用于播放Flash内容。它具有多媒体功能,支持自定义接口和控件,并具有安全性。然而,随着HTML5的发展,Flash正逐渐被淘汰。 ### 回答3: Flash32 ActiveX 是一种用于在Internet浏览器中运行Adobe Flash Player的插件。Flash Player是一种多媒体和应用程序运行时环境,用于播放动画、视频和音频以及支持交互式内容。Flash32 ActiveX是为Internet Explorer浏览器设计的,它允许用户在浏览器中观看和与Flash内容进行交互。 Flash32 ActiveX在过去的几十年中在互联网上得到广泛使用。它为开发人员和设计人员提供了创造各种吸引人的多媒体内容的工具。许多网站和在线游戏仍然使用Flash技术,因此仍然需要Flash32 ActiveX来支持这些内容。 然而,Flash32 ActiveX在近年来逐渐被淘汰。这是因为HTML5等现代标准的发展和广泛应用,它们提供了更强大、更安全的多媒体功能,不需要使用Flash插件。此外,Flash Player还受到了安全漏洞和性能问题的困扰,这也导致了更多人开始放弃使用Flash32 ActiveX。 综上所述,Flash32 ActiveX是一种用于在Internet浏览器中运行Adobe Flash Player的插件。尽管它在过去的互联网发展中发挥了重要作用,但随着新标准的出现和问题的出现,它正在被逐渐淘汰。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值