activex控件学习笔记_关于怎样处理VC++2005 Activex控件属性方法函数不全问题
- 格式:doc
- 大小:145.00 KB
- 文档页数:6
Visual FoxPro 的 ActiveX 控件简介Visual FoxPro 包括许多 ActiveX (原来的OLE) 控件,用于添加大量新功能到你的应用程序,它们包括:TreeView、ListView、StatusBar、CommonDialog等控件,允许你创建 Windows 9x 风格的应用程序。
另外,如 MAPI 和Comm 控件,允许你添加 messaging 和串口控件到你的应用程序。
这些控件,一些没多大用处:如"threed" 控件;有些控件与 VFP 自身已有控件只有极小差异,并且看起来只能用于 Visual Basic 或 or Access。
ActiveX 控件很容易接触到:只需从表单控件工具栏中的查看类菜单中选择 ActiveX 控件,会有 30 个新的控件出现在工具栏中。
就象 VFP 自身的控件一样简单地从工具栏中拖动一个控件到表单中,给它取一个名字,设置一些属性。
除 VFP 属性表外,各控件有一个自定义属性表。
要访问该自定义属性表,在控件上右击并从出现的菜单中选择适当的项。
要想做得更好,你可以利用VFP 是唯一的允许你派生ActiveX控件并添加附加行为的开发环境这一事实。
例如,你可以为一个控件建立一个封装类来隐藏它的复杂性和使其便于使用,或添加自定义属性和方法来进一步扩展控件功能。
我只试验了少量控件,并提供这些子类的源代码。
帮助文件包括了控件的属性,事件和方法(PEM)文档。
共有三个帮助文件:\WINDOWS\SYSTEM\MSACAL70.HLP (日历控件),\WINDOWS\SYSTEM\SYSINFO.HLP (SysInfo 控件),和\VFP5\CTRLHELP\CTRLREF.HLP (其它控件)。
通常,你可以在表单设计器或类设计器中选定一个 ActiveX 控件并按下 F1 来查看该控件的帮助主题(我将在稍后注明一些例外)。
步步学ACTIVEX网页控件开发转载自IT168 [ / ]第1页:创建ActiveX控件本文将首先介绍如何使用Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。
MyActiveX控件的效果图简介ActiveX是由Microsoft在90年代中期提出的一项技术。
利用ActiveX技术,开发者可以创建像Java小程序applet一样的小型应用程序。
这些应用程序可以被下载然后在Microsoft的浏览器中运行。
这篇文章是为那些想学习如何开发他们的第一个ActiveX控件的Visual C++开发者准备的。
当我自己尝试学习这些技术的时候,我发现很多针对ActiveX技术的资料都已经不再适用了,都已经过时了,或者丢失了很多关键性的信息,这些都使得我在为我的项目创建一个ActiveX控件的时候,变得困难重重。
这篇文章将帮助你实现ActiveX网页控件开发的快速入门。
本文将首先介绍如何使用 Visual Studio开发一个简单的ActiveX控件,然后介绍ActiveX控件开发相关的基础知识,比如方法,属性和事件等,最后介绍如何利用这些知识,实现ActiveX控件和网页页面之间的通信。
另外,你也将学习到如何在默认的Internet Explorer安全设置下取消掉控件加载过程中的警告或者错误提示,使你的控件成为一个“安全”的ActiveX控件。
在本文中,我们将创建一个实际的ActiveX控件。
在控件加载的过程中,它将显示一个动态的进度条,告诉用户控件正在加载并处理信息。
同时,这个控件也将展示如何在ActiveX控件和Web页面之间传递信息。
本文将引导你一步步地利用Microsoft Visual Studio 2005完成ActiveX控件的开发工作。
创建ActiveX控件要创建一个ActiveX控件,首先启动Visual Studio 2005,执行下面这些步骤:1.选择“文件”菜单,然后选择“新建”->“项目”。
电脑一直提示ActiveX控件未启用要如何解决?电脑一直提示ActiveX控件未启用怎么
办?
ActiveX控件是用于互联网的很小的程序,成为插件程序,会允许播放动画,或帮助执行任务,可以增强浏览体验,如果你的电脑一直提示你ActiveX控件未启用,先不要着急。
我这里给大家分享一个解决ActiveX控件未启用的方法,希望对您有帮助。
具体步骤:
1、打开浏览器,选择"internet'选项,点击"安全'栏,选择"受信任的站点'。
2、在"站点'里添加你所需要信任并打开的网站站点,并点击确定。
3、添加站点后,再点击"受信任站点'-》"自定义级别',在打开的安全设置里,把ActiveX选项的"启用'都"勾上'再点击确定。
4、再打开该网站站点或程序看看是否可以了,如果没有"Activex 控件被阻止了'的弹出对话框那么说明已经设置成功了!如果还是弹出则说明还没成功。
5、如果以上设置还是不行,说明浏览器是有点问题了,不过再按下面来设置下应该是没问题的。
继续打开internet选项-》安全》自定义级别,把里面的所有ActiveX选项里都启用。
什么是Activex控件什么是Activex控件?经常上网的伙伴们会发现在打开某些网页后,会出现Activex控件被阻止的提示,那么,Activex控件是什么?如何解决这一现象?对此,店铺就为大家介绍一下什么是Activex控件。
欢迎大家前来阅读!!Activex控件是什么ActiveX控件,简单的说,它就是IE浏览器的插件,例如IE的Flash播放器就是一个ActiveX控件。
ActiveX存在明显的安全问题,因为它其实也是一种程序,如果你安装了某个ActiveX控件,那这个控件就有权限在你电脑上做很多事情,例如偷偷的监控你的网页浏览记录,在后台安装恶意程序,时不时在你电脑上产生弹窗,甚至窃取你的帐号密码等,正因为这样,正因为这样,IE内核的浏览器有时候会提示你不要加载这些控件。
Activex控件被阻止怎么办第一步:打开浏览器,然后选择菜单栏上“工具”选项,选择“工具”选项之后,选择下拉菜单的“Internet选项”。
第二步:打开Internet选项之后,切换到安全选项卡,然后选择安全选项卡下的自定义级别。
第三步:单击自定义级别之后打开安全设置窗口,将重置为一栏的安全级别设置为安全级-中,然后勾选下载已签名的Activex控件一栏的启用,再勾选运行Activex控件和插件一栏的启用,把该控件和插件给启用上来,部分显示不安全的选项,可以勾选为提示,然后单击确定按钮。
第四步:设置完成之后单击确定按钮,关闭浏览器,然后重新启用浏览器,这样就不会再有提示了。
注意事项:如果把浏览器的安全级别设置为高,不管你是否勾选运行Activex控件,浏览器都会自动改其为禁用,所以需要将安全级设置为中。
以上就是Activex控件被阻止怎么办的解决办法。
总结以上就是店铺为大家带来的Activex控件被阻止现象的解决方法,希望可以帮助到大家。
什么是Activex控件将本文的Word文档下载到电脑,方便收藏和打印推荐度:点击下载文档文档为doc格式。
使用VC2005一些问题及解决方案(一)首先是我使用VC2005在不通阶段的不通感受:刚开始安装VS2005时候感觉:真是大啊!装了我一个上午!!而且运行个VC有时能耗我好大的内存。
刚使用VC2005时候的感受:界面挺不错,貌似功能更强大,对C++标准支持的很好,还可以用我最喜欢的Comic Sans MS字体,还支持代码收缩等等。
虽然比较慢,但是不像VC6. 0那样老是出现编译死机的情况。
开始用VC2005学习写东西的时候的感受:实在没有6.0好用,限制太多,很多地方跟VC6. 0不一样,而且很多功能似乎都找不到了。
还不如6.0方便。
使用一段时间的感受:虽然经常遇到问题但是都是有很好的解决方案的,而且相对6.0,2005的BUG少很多,总体来说如果机器配置还算可以的话,用2005是挺不错的。
下面就是我使用VC2005遇到的以及解决了的问题:VC遇到的以及解决了的问题1,对于Radio控件如何正确设置属性Group?首先要确保几个Radio控件的Tab是按顺序的(可以在对话框编辑器中按Ctrl+D将三个控件T ABORDER设置在一起)。
然后对第一个Radio控件选择Group属性,其他的不用选。
对第一个控件添加关联变量int m_test,并且设置初值-1,则当我们点击第一个控件m_test值是0,点击第二个m_test值是1....依此类推。
2,VC2005中添加虚函数问题:在VC6.0中可以对类右键添加虚函数,在VC2005中需要在类属性中点击一个重写按钮,在那里添加虚函数。
3,VC2005动态添加右键菜单问题:在VC6.0中我们可以在Project->Add To Project->Component and Control中添加组件,如添加Pop-up Menu可以实现添加右键快捷菜单的功能。
但是在VC2005中我们没有这个功能,但是我们可以手动自己添加,也不是很复杂。
步骤如下(假设工程是一般MFC视图工程命名Menu):1,自己添加一个Menu资源,例如命名为IDR_MENU1,编辑之。
虽然微软对ActiveX越来越不信任,但是这个技术还是很多人喜欢用的,这个博客的编辑器貌似就用到了ActiveX。
在我们编写好ocx控件后只有在打包成CAB文件加入数字签名后才能正常发布,如果你用的是vc6,那么问题简单了,打包完成后不用考虑控件的运行库问题,现在的XP系统和将要淘汰的2kpro都已经有了这样的运行库。
但是如果使用的是.net2005就会遇到有关运行库的问题,这些问题只能依靠CAB压缩包中的安装文件 .inf来解决。
首先看看基本的inf文件格式[version];区域设置signature="$CHICAGO$"AdvancedINF=2.0[Add.Code];该项会指明该安装包中有哪些项,这里说明包中有ActiveX.ocx、msvcr80.dll、mfc8 0u.dll、msvcp80.dll 四个项;这里一般会使用文件名和项名相同的方法,主要是便于维护ActiveX.ocx=ActiveX.ocxmsvcr80.dll=msvcr80.dllmfc80u.dll=mfc80u.dllmsvcp80.dll=msvcp80.dll[ActiveX.ocx];这就是Activex控件文件了file-win32-x86=thiscab;表示所需要的这个文件就在当前的安装包中,file-win32-x86表示该文件是一个win3 2系统下的文件clsid={A3B4C60F-24A7-40E8-A06B-1A5EFE5F0A43};这里是这个安装包的GUID这个值是在创建项目的时候系统生成在,一般存放在以项目名命名的idl文件中,使用项目的类信息的GUIDRegisterServer=yes;说明这个控件是需要注册的,;一般情况下只有编写的文件是需要注册的,运行库文件和系统中可能存在的DLL文件是不用注册的,如MFC70.dll等FileVersion=1,0,0,1;这个文件的版本,注意要用逗号隔开[msvcr80.dll];这是ocx控件的第一个依赖文件,有的地方说明依赖文件必须按照依赖顺序安装,可以用"所剩dll都依赖的文件最先安装”的规则来进行,但是我并没有在MSDN上看到什么地方有很明确的说明,并且在我自己的测试中也没有发现有关顺序的问题,并且很多地方都是将ocx控件写在最前面的,但是ocx文件是最依赖其他文件的,貌似按顺序写的做法有点“迷信”FileVersion=8,00,50727,42;这里是该dll文件的版本,这里注意下,这个版本可以在文件属性的版本选项卡中看到,不知道为什么这里显示的版本号有时会比最外面显示的版本号多一个0,注意,复制到inf 文件后要将点分隔符改成逗号分隔符hook=mfc80installer;这个hook是个保留字,说明该项目被挂接到哪里,如果有则表示被挂接到目标项,ho ok不是一个必填项,这里表示该文件将被挂接到mfc80installer项[mfc80u.dll]FileVersion=8,00,50727,42hook=mfc80installer[msvcp80.dll]FileVersion=8,00,50727,42hook=mfc80installer;上面两项都跟[msvcr80.dll]一样,这里就不解释了[mfc80installer];挂接项file-win32-x86=http://192.168.1.117/helloactivex/mfc80.cab;这里表示这个被挂接的文件的位置在一个地址run=%EXTRACT_DIR%vcredist_x86.exe;这里表示从这个地址下载到cab包后执行包里面的vcredist_x86.exe文件,%EXTR ACT_DIR%表示下载后的解压目录上面有一点没有说明白,就是“为什么会出现hook这个东西?”,很多的inf文件是这样写的[Add.Code]msvcr80.dll=msvcr80.dllmfc80u.dll=mfc80u.dllmsvcp80.dll=msvcp80.dllActiveX.ocx=ActiveX.ocx[msvcr80.dll]file-win32-x86=thiscab;该文件在当前安装包中FileVersion=8,00,50727,42RegisterServer=no;不需要注册destdir=11;该文件将被安装到系统所在目录的system32下;........我使用这样的方法在没有安装过任何软件的2kpro和XP下测试过,均安装失败,其原因就是运行库不匹配,如果你的控件是用VS2005的MFC开发的话,使用这样的方法无法将msvcr80.dll,mfc80u.dll,msvcp80.dll这几个控件依赖的文件安装到目标位置的,具体是什么原因我也不明白。
ActiveX控件的相关操作1、在网页上用<object></object>标签,而<object> 标签用于包含对象,比如图像、音频、视频、Java applets、ActiveX、PDF 以及Flash。
图表1OBJECT标签是用于windows IE3.0及以后浏览器或者其它支持Activex控件的浏览器。
“classid”和“codebase”属性必须要精确地按上例所示的写法写,它们告诉浏览器自动下载ActiveX控件的地址。
如果你没有安装过ActiveX控件那么IE3.0以后的浏览器会跳出一个提示框访问是否要自动安装ActiveX控件。
2、不过前提最好给IE浏览器进行安全设置,具体操作步骤如下:第一步如图2所示图表2第二步如图3所示,对选择要查看的区域或更改安全设置底下的Internet、本地Intranet、可信站点分别进行自定义级别设置。
图表3第三步根据选择要查看的区域或更改安全设置底下的Internet、本地Intranet、可信站点分别进行自定义级别设置,就会弹出与之对应的安全设置的对话框如图4、图5、图6所示,将ActiveX控件和插件下的相关设置设置为启用,之后只要点击确定即可。
图表4图表5第四步在浏览器中访问项目相关网页。
(注意:如果你是Myeclipse开发的项目那么你就把ScanCtrl.CAB复制到WebRoot下,如果是Eclipse开发的项目那么你就把ScanCtrl.CAB复制到WebContent目录下。
还有网页中Object 标签中的相关写法请参照图1,如果自动下载成功后在C:\WINDOWS\system32这个路径下会有DllBase.dll、ScanCtrl.ocx这两份文件)图表6。
提示一个或多个ActiveX控件无法显示的解决方法原因可能是下列其中之一:1)当前安全设置禁止运行此页面中的ActiveX控件;2)您已经阻止了其中一个控件的发布者。
因此,该页面可能无法显示。
解决方法1:可能是你禁用了每个服务。
运行,输入msconfig,服务选项卡里面启用active有关服务。
若是找不到,在一般选项卡启动选择,选加载所有服务项那个,重启即可若是上面方法无效可以尝试系统还原,选用合适的还原点。
解决方法2:打开注册表编辑器,定位到:HKEY_CURRENT_USER\Software\Microsoft\Windows\Current Version\Internet Settings\Zones\0解决方法3:详细请看下文1什么是ActiveX控件?2ActiveX插件以前也叫做OLE控件或OCX控件,它是一些软件组件或对象,可以将其插入到WEB网页或其它应用程序中.3如果我没有安装控件会有什么现象?4为了保障您账户的安全,如果您使用的是IE浏览器,我们会自动提示您安装。
如果没有正确安装,会出现如下图所示的情况:5这时候您只要按照我们的提示,下载安装我们的安全控件并刷新,就可以正常使用了。
6如何自动安装控件?7如果您使用的是windows xp系统(sp2),IE浏览器会屏蔽上面的弹出窗口,这时候您只要按照下面的步骤安装就可以了:8第一步:登录交易系统时,IE窗口会出现下图所示的提示,此时点击“单击此处"提醒:请不要关闭此提示框,否则,您就不能正常安装我们的插件了!9第二步:选择“安装ActiveX控件":提醒:选择并点击“安装ActiveX控件",我们保证选择此控件对您的计算机没有任何风险!10第三步:弹出如下图所示安全警告窗口,选择“安装”如果您的网络忙,安装可能会花几分钟时间,请稍等片刻!完成后您就可以登录交易系统了。
11如何手动安装控件?12您也可以点下载软件包进行控件安装:(注:点此下载WINRAR)13第一步:鼠标右键点击软件包进行解压。
VC++2005 Activex控件学习笔记
如何解决得不到所有方法属性函数
1、开发Activex的时候
属性的设置:
自定义属性
类CClockPropPage 所对应的dialog中的cedit控件变量m_updateInterval与自定义属性关联
方法的添加
事件的增加标准事件click等
自定义事件
Activex的使用
属性:
方法:通过控件变量添加方法与属性的设置函数
这样就可以再vc++2005得到getbackcolor等等函数了
记住不要像孙鑫老师的那种方法添加CClock类,在vc++2005中貌似不行啊,也不知道为何。
选中应用程序编辑界面上的Clock Ctrl控件->击右键->添加变量->变量类型默认选CClockctrl1,控件ID默认
为IDC_CLOCKCTRL1,类别默认为Control,变量名填m_clock->完成.
事件:。