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就是设置页面中异 步局 ...
随机推荐
- 【第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛-L】用来作弊的药水
链接:https://www.nowcoder.com/acm/contest/90/L来源:牛客网 输入x,a,y,b,(1<=x,a,y,b<=10^9)判断x^a是否等于y^b 前面 ...
- request对象和response对象,什么时候用,具体用哪一个,没有感觉
request对象和response对象,什么时候用,具体用哪一个,没有感觉
- bzero()函数
原型:extern void bzero(void *s, int n); 用法:#include <string.h> 功能:置字节字符串s的前n个字节为零且包括‘\0’. ...
- 【PL/SQL编程】SQL与PL/SQL的区别
SQL概念: SQL是结构化查询语言,由数据定义语言.数据操纵语言.数据控制语言构成,它不面向过程,即前一条语句与后一条语句无关.它没有流程控制,也不存在变量. PL SQL概念: PL/SQL ...
- 服务升级带来的Bug,BAT也不能幸免
这是标题党,关于阿里的,BT躺枪了. 为什么淘宝上找不到"亲淘"了? 好吧,我今天遇到了一个Bug: 立即更新,然后你看到了: 才发现亲淘不能使用了. 看官方页面: 提示:2016 ...
- 多进程(了解):守护进程,互斥锁,信号量,进程Queue与线程queue(生产者与消费者模型)
一.守护进程 主进程创建守护进程,守护进程的主要的特征为:①守护进程会在主进程代码执行结束时立即终止:②守护进程内无法继续再开子进程,否则会抛出异常. 实例: from multiprocessing ...
- 西交利物浦大学Java PAPER CODE: CSE105/12-13/S1/Resit Coursework
Question 6:What is an accessor method?What is a mutator method? 答案参考:http://www.xmsydw.com Number An ...
- 安装Oracle数据库操作步骤
第一步: 第二步: 第三步: 第四步: 第五步:输入密码 第六步:继续 第七步: 第八步:进入主页后 第九步:登录进去后是这样子 第十步: 第十一步: 第十二步: 最后一步:看到桌面上有个图标就说明安 ...
- LeetCode Design TinyURL
原题链接在这里:https://leetcode.com/problems/design-tinyurl/description/ 题目: How would you design a URL sho ...
- Delphi 连接 Paradox
应用TDataBase控件把DataBase的DriveName设为STANDARD,然后设置DataBase的Params中设置PATH=*.db文件地点目录DEFAULT DRIVER=PARAD ...