说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

ActiveForm在IE中不停的重画?请问为什么?

编辑:说三道四文库 发布时间:2017-11-20 10:28
HTML文档下载 WORD文档下载 PDF文档下载
你好!我写了一个activeform,上面放了几个panel,什么操作也没有,为什么只是稍微拖动ie,
form的重画就非常严重,activeform的画面都变形了!我想自己处理OnPaint,
但ActiveForm的OnPaint的事件并没有被触发?
请教各位该如何解决呢?我觉得重画操作不应该有我作,而是系统自己会处理。
这是delphi的一个bug

将Delphi5安装目录下Borland\Delphi5\Source\Vcl\axctrls.pas文件考出,放在一个临时目录中。

用Delphi新建一个工程,保存在该临时目录中,在此工程中加入axctrls.pas(用Project菜单下的Add to Project...), 在Component List中,打开TActiveXControl下的Protected节点,双击SetObjectRects,则看到下面的代码

function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
  const rcClipRect: TRect): HResult;
var
  WinRect: TRect;
begin
  try
    IntersectRect(WinRect, rcPosRect, rcClipRect);
    FWinControl.BoundsRect := rcPosRect;
    Result := S_OK;
  except
    Result := HandleException;
  end;
end;

将FWinControl.BoundsRect := WinRect; 中的 WinRect 换成 rcPosRect, 然后运行工程编译,将axctrls.dcu 文件考到Borland\Delphi5\lib及Borland\Delphi5\lib\Debug下,将原有文件覆盖即可.
楼上的大侠很牛啊!呵呵,虽然还没有试验,但是佩服啊!
其实上面的代码就是 Delphi 3/4 版本的 axctrls.pas 中的。所以用 Delphi 3/4 开发 ActiveXForm 是没有问题的。但是 Delphi 5 的 axctrls.pas 做了改动,反而出现了问题。所以只要照着 Delphi 3/4 版本的 axctrls.pas 改动一下这个位置就可以了。
这是delphi的一个bug

将Delphi5安装目录下Borland\Delphi5\Source\Vcl\axctrls.pas文件考出,放在一个临时目录中。

用Delphi新建一个工程,保存在该临时目录中,在此工程中加入axctrls.pas(用Project菜单下的Add to Project...), 在Component List中,打开TActiveXControl下的Protected节点,双击SetObjectRects,则看到下面的代码

function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
  const rcClipRect: TRect): HResult;
var
  WinRect: TRect;
begin
  try
    IntersectRect(WinRect, rcPosRect, rcClipRect);
    FWinControl.BoundsRect := rcPosRect;
    Result := S_OK;
  except
    Result := HandleException;
  end;
end;

将FWinControl.BoundsRect := WinRect; 中的 WinRect 换成 rcPosRect, 然后运行工程编译,将axctrls.dcu 文件考到Borland\Delphi5\lib及Borland\Delphi5\lib\Debug下,将原有文件覆盖即可. 
我其初也有问题,现在解决了(按上面说的改一下就OK)
请问怎样调试ACTIVEFORM,应不是发布完再调试吧?
浪潮首度公布“I2I计划” 全面接盘IBM X业务 一周消息树:Surface Pro 3想替代笔记本太难,微软正逐渐迷失方向 就是要赚钱!NativeX推自定义原生广告交易 继智能手机后的下一个战场:智能家居 鏖战云端——亚马逊的生存法则 如何保住公司的人才:创造良好的学习氛围 主宰全球的10大算法 专访Google数据科学家彭晨:大数据成为潮流走近各行各业! 强横Metal技术来袭,能否取代OpenGL? Swift横空出世,Xcode 6 Beta有了哪些新变化? 《近匠》GameMei:简单易用、快速开发商用游戏 Gartner:2014年一季度浪潮服务器出货量中国第一 【技术博客推荐】张安站:大数据时代下的商业存储 Amazon继续登顶IaaS魔力象限,榜眼是微软而非Google 友盟Q1移动互联网报告:解读三线城市移动互联网用户 智能生活 “视”不可挡——首届TCL杯HTML5智能电视开发大赛等你来挑战 Mobile First!开源HTML5游戏引擎Kiwi.js 1.0正式发布 天天用的开发环境,你真的了解吗? 物联网时代,你的汽车也在转型 触宝输入法产品经理解析iOS 8第三方输入法开放程度 专访联想谢政维:功耗和价格是天蝎项目最大障碍! 《近匠》蚁视科技创始人覃政:ANTVR,虚拟现实的新生 后棱镜门时代:开发者保护应用安全的5大技巧 专访许鹏:谈C程序员修养及大型项目源码阅读与学习 65种GPU性能测试,AMD开源驱动领先! 一周消息树:我们从WWDC 2014收获了什么? 精益设计:“纸上谈兵”的说服力 指尖上的艺术——如何运用代码发挥无限创意 周末巨献:100+诡异的数据集,20万Eclipse Bug、死囚遗言等 TIOBE 2014年6月编程语言排行榜:Swift能否取代Objective-C? 移动游戏后端:开发还是购买?你必须知道的6件事 请教:在Rational rose中如何去设计数据库表? 为什么wndows2k pro一访问windows2k server就有"打印机"和"任务计划"的共享,可不可以消除? win2k server下,iis5.0有问题,我想卸载,再重新安装,怎么做? treeview的使用小结(一) INDY 资料! 请分析这段代码,谢谢 怎样获得DataGrid的DataSource? 有关struts的问题,返回页面结果不对!在线等待,以解决就结帖 怎么改变快捷菜单PopupMenu1的颜色? 用OWC组件做柱状图,需要显示不同颜色的柱状以及显示不同颜色的图例 VS.NET中如何让自定义的事件出现在属性编辑器中? javascript 中有没有能返回指定某年某月中总天数的函数 如何将主窗体中的变量传到报表中,以供dataset查询用,急急急!!! 新手探路 不知道这是不是一个bug 函数返回值类型问题 兄弟我现在改行搞传统的邮政商业信函业务!给点建议!来者有分! 装有isa客户端的机器不能用FlashGet或者蚂蚁下载 网路多少钱才要交税? Kingofark关于英语及外语学习的50个观点 adotable定位记录有哪些方法?如何使用? 超高难度求sql语句,非高手莫进,在线等.......... petshop有些代碼不明白。。。。。。。。。。。 哎,运算符重载把我卡住了!求救!!! 最后 请问函数传递,设置默认值问题! 通过ODBC连接INFORMIX的问题!急!急!急! 有没有VC高手想在上海找工作? 求一个发送邮件的例子(急!!) 有谁碰到过多人同时改写几十个xml文件从而导致xml文件混乱的情况? 我在datawindow中设置initial vlaue=0,为什么写到数据库里的值还是null 请问联众和中游客户端的聊天大厅是基于chtmlview还是crichedit编程的? WINDOWS高级用户或技术支持人员请进! 通过ODBC连接INFORMIX的问题!急!急!急! 将数据保存到数据库问题 ???急。。。在线等待。。。 一个动态模板列的问题 请各位兄弟姐妹扔个FontTwister1.3的注册码上来,谢过了。 高分求救:怎么时查询后的记录成高亮状态! jsp中如何得到 select 控件的值??? 初学者求救!!!! NetBSD China站点开通<CSTC团队> 从数据库读出字段类型为int型的数据,如何转换成字符型的? 想用C来做个东西,但不知做什么好 exchange 2003 rc1版安装后后没有M盘?就是没有M盘,还是安装的问题? 关于水晶报表打印的问题,请各路大侠指点迷津 请大家(特别是安逸)指点一下关于pppoe的开发。 弱弱一问,dll 能静态连接吗? 在jbuilder中project webapplication jsp什么关系 疑问 请教一个简单问题 有关加载菜单与工具栏的问题? 远近闻名的近义词谢谢 吸血虫病毒是什么样的? 请问nice 在WEG2005wNv的窥屏事件中出现了这个词组.今天在WEG2005的赛场上爆出了自开赛以来最大的黑幕.中国CS战队wNv在于美国战队GamerCo的交手中,被当值裁判裁定两次违规,理由是窥屏,从而直接 nice to me you 求上面带拼音的字 要全一点的 急用! 远近闻名的近义词是什么?(要成语) 我家想买一台可以直接过滤自来水的净水器,谁能帮忙介绍一款? so long的英文意思是再见,那它怎么使用呢?跟byebye有什么区别呢?so long 是int. 以良师为题500字 如图1-18所示,有一个圆柱,它的高等于12厘米,地面半径等于3厘米.在圆柱下地面的A点有一只蚂蚁,它想吃如图1-18所示,有一个圆柱,它的高等于12厘米,地面半径等于3厘米。在圆柱下地面的A点 远近闻名的近义词都有哪些 中国军方就日舰闯入我演习区提出严正交日本发现一种化合物可预防糖尿病等疾病全球发展中国家每年新增200万名15国防部回应安倍抗衡中国言论:不自量力澳大利亚利用“特等舱”为美国搜集亚太我军2名专家将赴叙利亚执行化学武器销埃塞俄比亚“中国通”总统:中国值得埃“中国周”活动走进墨西哥高校国防部就日舰机闯入我演习区干扰演习提野田:小泉时代便开始探讨“购买”钓岛我军2名专家将赴叙利亚执行化学武器销住着别墅 还得自己供电101兼职平台APP上线开拓互联网浪市售草莓多含致癌农药,春播为您提升餐淘景泰蓝您得趁早来黑椒猪扒“老人都是社区的宝贝”98斤瘦身成功,初恋履约开直升飞机来天气这么热,美的人要开始吃西瓜了昌平线二期明年4月“洞通”跟前主人学会脏话的鹦鹉教别的鹦鹉骂人车猛活儿好才是王道
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘