ActiveForm 引起花屏(100分)

  • 主题发起人 wind1020
  • 开始时间
W

wind1020

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用ActiveForm嵌入到期网页中时,发现一个问题:
当ActiveForm比较长以致于要滚动滚动栏,如果该ActiveForm碰到
IE浏览器的上顶部,即,地址栏下,浏览器在ActiveForm区域花屏,如
果不碰到顶部,则一切正常。
我怀疑是ActiveForm的刷新问题,但又找不到方法可以避免,请各位赐
教!
 
?
那么就把它放在FRAME里,别让它碰就是了赫赫
 
实在没办法,只好我自己解决了。
将ActiveForm做得小一些了。
 
我也正在为此而烦恼!!!
 
我也遇到这问题,不知怎么办?
 
用delphi4 重新编译一下
 
我用的是 delphi 5 .同样有这样的问题.现在只能是将 ActiveForm 做得小一点。有没有
更好得方法呢?我发现网上例如做股市走势分析的 ActiveForm 也有这样的问题。可是它们
在过一会就会自动刷新。使 ActiveForm 不至于花屏.难道在自己的程序里也要搞这个?
 
我也有同样的问题,有以为高手给我说:
1:打开 delphi 下source/vcl/axctrls.pas
2: 到:
function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
const rcClipRect: TRect): HResult;
var
WinRect: TRect;
begin
try
IntersectRect(WinRect, rcPosRect, rcClipRect);
// 原行 FWinControl.BoundsRect := WinRect;
// 修改如下 modify by xuan 2000.08.09
FWinControl.BoundsRect := rcPosRect
//〈--- n=modify this word
Result := S_OK;
except
Result := HandleException;
end;
3: save it
4: new project application
add axctsls.pas to this project, and then compile project,
late, copy axctrls.dcu to ..lib and overwirte old file axctrls.dcu !


 
这是“win1998”回答的问题,我只是照搬而已:

我也有同样的问题,有一位高手给我说。现已解决如下:
1:打开 delphi 下source/vcl/axctrls.pas
2: 到:
function TActiveXControl.SetObjectRects(const rcPosRect: TRect;
const rcClipRect: TRect): HResult;
var
WinRect: TRect;
begin
try
IntersectRect(WinRect, rcPosRect, rcClipRect);
// 原行 FWinControl.BoundsRect := WinRect;
// 修改如下 modify by xuan 2000.08.09
FWinControl.BoundsRect := rcPosRect
//〈--- n=modify this word
Result := S_OK;
except
Result := HandleException;
end;
3: save it
4: new project application
add axctsls.pas to this project, and then compile project,
late, copy axctrls.dcu to ..lib and overwirte old file axctrls.dcu !


宣舟灿
win1998@21cn.com


 
接受答案了.
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
507
import
I
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部