紧急求助,在拉动滚动条时ActiveX显示出现重叠问题。(50分)

  • 主题发起人 主题发起人 fyzxm
  • 开始时间 开始时间
F

fyzxm

Unregistered / Unconfirmed
GUEST, unregistred user!
用DELPHI5,Win2000,IIS5。在D5中建一个ACTIVEFRM,(空白的FRM),马上发布到IIS目录
后用IE6打开网页,全部正常可以看到Frm。但是在将网页拉小不能显示整个FRM后,在拉动
滚动条时错误来了。当拉动滚动条使FRM的上边与IE6的上边快重叠时,FRM的显示不正常了,
出现的图形的重叠。
我不知是哪量出的问题。我的D5,W2000,Ie6的补丁全打过的。
 
难道没有人能解决?能人都到那里去了?
 
我也有这个问题,关注中~~~~
另外还有个很奇怪的问题
我写的activeform在某些版本的ie里显示是正常的,而在另外的某些版本却是空白。
在xp里还会出现"DAX Error"之类什么内存不能读的错误

关注关注
我也再加上100分

高手快快现身啊!
 
这是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下,将原有文件覆盖即可.

呵呵,找到答案了
跟你一起分享一下,^_^
 
谢谢,完全可用。解决了。
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部