ocx控件针对网页刷新和关闭分别进行区分处理
当ocx加载在网页上时,如果对网页执行F5刷新事件,ocx控件会销毁ocx的窗口类,但是ocx的APP类是不会销毁的。
只有当网页被关闭时,才销毁app类。
--------------------------------------
可能刚接触ocx开发对ocx控件窗口类和 ocx的app类有点不太明朗。其实很好区分:
如果你创建的是一个ATL 项目 比如你的名字是 EmotionOle 在你的工程项目里同样会有一个EmotionOle.h 的
文件里面的就是你的ocx控件窗口类(无窗体ocx控件同样);
在工程项目里有个 dllmain.h 文件,该文件就是ocx控件的app类;
给dllmain.cpp 文件的 app类:class CEmotionOleApp : public CWinApp{}; 添加一个析构函数,用以处理网页关闭时针对ocx的一些处理;
当然网页第一次加载时也会走该app类的 InitInstance(){}函数 ,网页被按F5刷新的时候也不会在重新去执行该函数,只有在网页被关闭。然后每次重新打开网页时才会执行。
ocx控件窗口类可以通过添加该接口 STDMETHOD(SetClientSite)(IOleClientSite *pClientSite); 通过对参数是否为null判断网页是否被刷新,来处理一些针对ocx控件窗口类该执行的一些操作。
在ocx控件窗口类中如果执行一些资源释放操作放在上面添加的SetClientSite接口里比放在ocx控件窗口类的析构函数里要更安全。
--------------------------------------
由以上特性就可以区分开来上层网页是执行了刷新还是执行了关闭,对于ocx控件感知区分很重要。
-------------------------------------------------------------------------------------------------------------------------
http://www.cnblogs.com/wainiwann/p/7059064.html
http://www.cnblogs.com/snben/archive/2012/09/25/2701125.html
ocx控件针对网页刷新和关闭分别进行区分处理的更多相关文章
- VC2005从开发MFC ActiveX ocx控件到发布到.net网站的全部过程
开篇语:最近在弄ocx控件发布到asp.net网站上使用,就是用户在使用过程中,自动下载安装ocx控件.(此文章也是总结了网上好多人写的文章,我只是汇总一下,加上部分自己的东西,在这里感谢所有在网 ...
- #include <objsafe.h>//OCX控件在IE8浏览器下不能使用问题
一.OCX控件开发常见的问题 1.OCX控件在IE8浏览器下不能使用问题 原因:IE8会拦截OCX控件的方法. 解决方法:在OCX控件开发时加入安全接口. (1)在有"Crtl"字 ...
- ScriptManager和UpdatePanel控件实现局部刷新
ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异步局部更新区域,它必须依赖于ScriptManager存在,因 ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- 在Web上调用Ocx控件
原文:http://blog.csdn.net/goodadult2012/article/details/6343369 在HTML页面中使用ActiveX控件包含三个基本操作:将控件放入HTML中 ...
- JS调用Delphi编写的OCX控件
原文:http://www.mamicode.com/info-detail-471283.html 一.使用Delphi XE2编写OCX控件 生成OCX工程: 1.File-New-Other,在 ...
- Html页中使用OCX控件
原文:http://blog.csdn.net/mouse8166/article/details/5515657 最近准备开发一个b/s架构的应用程序需要用到activeX控件,web服务器尚未进入 ...
- Delphi安装/卸载OCX控件的方法
delphi 安装卸载ocx 请参见 如下 http://blog.csdn.net/xt_chaoji/article/details/7027298 打开Delphi,关闭所有项目. 1. ...
- 多个UpdatePanel控件相互引发刷新的使用
原文:多个UpdatePanel控件相互引发刷新的使用 ScriptManager和UpdatePanel控件联合使用可以实现页面异步局部更新的效果.其中的UpdatePanel就是设置页面中异 步局 ...
随机推荐
- Visual Studio 调试技巧:10 篇热文汇总
本文精选了 DotNet 2017年11月份的10篇热门文章.其中有技术分享.技术资源. 注:以下文章,点击标题即可阅读 <Visual Studio的调试技巧 > 调试技巧是衡量程序员 ...
- python基础之迭代器协议和生成器(二)
一.什么是迭代器: 迭代是Python最强大的功能之一,是访问集合元素的一种方式. 迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束. 迭代器是一个可以记住遍历的位置的对象. 迭代器的 ...
- LeetCode OJ:Majority Element(主要元素)
Given an array of size n, find the majority element. The majority element is the element that appear ...
- js中去除两端逗号
1.js replace(a,b)之替换字符串中所有指定字符的方法 var str = 'abcadeacf'; var str1 = str.replace('a', 'o'); alert(str ...
- L143 Seasonal 'Plague' Hits College Freshman
Sometimes, all the hand sanitizer in the world cannot prevent the inevitable.College freshmen across ...
- 一个css3 DNA 效果
这个效果就是 不断沿 Y 轴旋转 <div id="container"></div> <style> body{ background:bla ...
- Arcgis for Javascript之统计图的实现
首先,截个图给大家看看效果: 初始化状态 放大后的状态 点击选中后的状态 如上图所示,一般的涉及到的地图的统计涉及到上述所展示的三个状态:1.初始化状态:2.缩放后的状态:3.点击选中显示详情状态.第 ...
- Zookeeper集群是如何升级到新版本的
方案1:复用老数据方案 这是经过实践的升级方案,该方案是复用旧版本的数据,zk集群拓扑,配置文件都不变,只是启动的程序为最新的版本. 参考文章: Zookeeper集群是如何升级到新版本的 方案2:重 ...
- 使用 DocFX 生成 .Net/Unity项目文档
孙广东 2017.5.27 http://blog.csdn.NET/u010019717 微软开源全新的文档生成工具DocFX 类似JSDoc或Sphinx 如何使用看 : http: ...
- requestAnimationFrame 与 cancelAnimationFrame
API接口 Window对象定义了以下两个接口: partial interface Window { long requestAnimationFrame(FrameRequestCallback ...