• [ActiveX]使用VS2010创建MFC ActiveX工程项目


    ActiveX的基本概念

    ActiveX控件可以看作是一个极小的服务器应用程序,它不能队列运行,必须嵌入到某个容器程序中,与该容器一起运行。这个容器包括web网页,应用程序窗体等等。

    ActiveX控件的后缀名是ocx或者dll。一般是以ocx和动态共存的形式打包成cab或者exe的文件放在服务器上,客户端下载后运行安装cab或者exe解压成ocx和动态库共存的文件,然后注册ocx文件。

    activeX控件是基于com标准,使得软件部件在网络环境中进行交换的技术集。它与具体的编程语言无关。作为针对internet应用开发的技术,activeX被广泛应用于web服务器以及客户端的各个方面。同时,activeX技术也被用于方便地创建普通桌面应用程序,此外activeX一般具有界面。

    三个概念:ActiveXOLECOM

    从时间的角度讲,OLE是最早出现的,然后是COM和 ActiveX;从体系结构角度讲,OLEActiveX是建立在COM之上的,所以COM是基础;单从名称角度讲,OLEActiveX是两个商标名称,而COM则是一个纯技术名词,这也是大家更多的听说ActiveXOLE的原因。COM是应OLE的需求而诞生的,所以虽然COMOLE的基础,但OLE的产生却在COM之前。COM的基本出发点是,让某个软件通过一个通用的机构为另一个软件提供服务。ActiveX最核心的技术还是COMActiveXOLE的最大不同在于,OLE针对的是桌面上应用软件和文件之间的集成,而 ActiveX则以提供进一步的网络应用与用户交互为主。COM对象可以用C++JavaVB等任意一种语言编写,并可以用DLL或作为不同过程工作的执行文件的形式来实现。使用COM对象的浏览器,无需关心对象是用什么语言写的,也无须关心它是以DLL还是以另外的过程来执行的。从浏览器端看,无任何区别。这样一个通用的处理技巧非常有用。

    ActiveX控件工程的创建

    使用VS2010有两种方式可以创建ActiveX工程,1.创建“MFC ActiveX 控件工程;2.第二种:创建“ATL 项目

    由于使用ATL开发ActiveX控件需要了解com技术,对程序员的要求也较高,开发时间也较长,所以如果ActiveX只在windows操作系统下运行,那么就使用“MFC ActiveX 控件工程来快速建立ActiveX控件。但是这里要注意了:使用“MFC ActiveX 控件工程来快速建立ActiveX控件,他不仅要建立在windows操作系统下,还必须在windows操作系统下安装c++依赖库安装包,因为MFC是建立在微软的c++动态库的基础上的。所以这两种方式各有优缺点,根据项目需求来选择适合的方式。

    使用VS2010创建MFC ActiveX工程项目步骤

    由于使用ATL进行ActiveX工程的创建难度比较大,所以这里先使用“MFC ActiveX 控件工程来创建一个简单的ActiveX控件。

    新建项目-》选择“MFC ActiveX 控件工程,给项目命名TestMfcAtlDebug默认,下一步,下一步,完成。编译,生成TestMfcAtlDebug.ocx文件

    注册ActiveX控件

    安装注册控件:regsvr32  <ActiveX控件的文件名>。Regsvr32.exe是windwos自带的ActiveX注册工具。ActiveX控件的文件名:用鼠标拖进去就可以了

    删除注册控件:regsvr32 /u <ActiveX控件的文件名>

    测试ActiveX控件的方法

    第一种方法.建立Mfc应用程序,在Mfc窗口右键-》插入“ActiveX”控件,然后就会在MFC的窗体上显示ActiveX控件 

    第二种方法:外部工具:TstCon点击Edit->Insert New Control->选择TestMfcAtlDebug Control,点击OK 

    参考,有插图

  • 相关阅读:
    后缀数组 POJ 3693 Maximum repetition substring
    后缀数组 POJ 2406 Power Strings
    后缀数组 SPOJ 694 Distinct Substrings
    后缀数组 POJ 3261 Milk Patterns
    后缀数组 POJ 1743 Musical Theme
    后缀数组 POJ 3974 Palindrome && URAL 1297 Palindrome
    后缀数组 POJ 2217 Secretary
    Codeforces Round #349
    后缀数组 POJ 3581 Sequence
    Codeforces Round #348(VK Cup 2016
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3180256.html
Copyright © 2020-2023  润新知