IE 里面的activeX控件的打印预览问题
来源:互联网 发布:windows平板不好用 编辑:程序博客网 时间:2024/04/28 07:15
昨天接到一个bug,我们的软件有一个浏览器activeX插件,在html页面里面显示附件列表,支持直接拖放文件,这个控件在浏览的时候挺正常,但是如果使用IE的网页打印预览功能,那个控件就有一块是空白。
刚拿到这个问题确实让我挺挠头,完全不知道从哪下手。不过通过分析代码,发现是这个控件里面的一个list control没画出来,跟了一下activex控件的ondraw方法,发觉里面没有对list control的处理。这样原因就基本清楚了。
在普通的浏览方式下,控件里面的list control是有自己的窗口的,需要绘制的时候会收到WM_PAINT消息,它自己就把自己画了,不用控件做什么。但是在打印预览的时候,触发onDraw的并不是WM_PAINT消息,而是IE会调用IViewObj接口里面的Draw方法,activeX控件在实现这个方法里面会调到onDraw,在IE给定的DC上绘制自己,而list control并不会收WM_PAINT消息,也没有啥draw方法会被调用,拿不到DC,所以也就没有画到打印预览的界面上了。
这个问题挺难解决的,需要自己在activeX控件的ondraw里面画list control,代价太大了。这个bug影响不大,我不准备修了。
刚拿到这个问题确实让我挺挠头,完全不知道从哪下手。不过通过分析代码,发现是这个控件里面的一个list control没画出来,跟了一下activex控件的ondraw方法,发觉里面没有对list control的处理。这样原因就基本清楚了。
在普通的浏览方式下,控件里面的list control是有自己的窗口的,需要绘制的时候会收到WM_PAINT消息,它自己就把自己画了,不用控件做什么。但是在打印预览的时候,触发onDraw的并不是WM_PAINT消息,而是IE会调用IViewObj接口里面的Draw方法,activeX控件在实现这个方法里面会调到onDraw,在IE给定的DC上绘制自己,而list control并不会收WM_PAINT消息,也没有啥draw方法会被调用,拿不到DC,所以也就没有画到打印预览的界面上了。
这个问题挺难解决的,需要自己在activeX控件的ondraw里面画list control,代价太大了。这个bug影响不大,我不准备修了。
- IE 里面的activeX控件的打印预览问题
- MFC ActiveX 控件在IE下闪烁的问题
- MFC ActiveX 控件在IE下闪烁的问题
- MFC ActiveX 控件在IE下闪烁的问题
- IE下ActiveX控件的激活
- 编写IE的ActiveX控件 (基础篇)
- IE 阻止过期的 ActiveX 控件
- C#实现的ActiveX截图打印控件
- C#实现的ActiveX截图打印控件
- C#实现的ActiveX截图打印控件
- 使用ActiveX控件的问题
- 网页中"IE限制网页访问脚本或ActiveX控件"的提示问题的解决方法
- 有关在IE中使用ActiveX控件时的安全提示问题
- MFC ActiveX 控件在IE下闪烁的问题--【经历一模一样,问题解决】
- 单机情况下,IE浏览器访问activeX控件出现红叉问题的解决
- VC、IE、ASP环境下打印、预览的完美解决方案
- 关于IE打印预览内容显示不全的问题解决
- 开发IE控件ActiveX(Delphi 打印控件)
- 续上一篇文章,用栈来实现:按照用户输入的rule,经过并、交、差运算后,输出字符串结果。
- 字符串转换_BSTR/LPSTR/LPWSTR/Char
- Java_JDK环境变量的设置
- AD-hoc测试介绍
- psptoolchain下载地址和安装方法
- IE 里面的activeX控件的打印预览问题
- DOS批处理实现SQLServer2000数据库自动备份
- 成都狼窝java项目笔记(2)
- asp数组随机排序
- 一天三面
- Ubuntu8.04系列三-系统安全篇
- fso删除当前文件夹下所有的内容
- 关于script的dictionary对象的用法
- ASP转化ip地址为长整型数字