ActiveXForm的显示花屏问题.(100分)

  • 主题发起人 主题发起人 xwings
  • 开始时间 开始时间
X

xwings

Unregistered / Unconfirmed
GUEST, unregistred user!


我新建了一个ActiveXForm,上面放了一个label. 然后发布到页面上. 显示是正常的.
但是如果我把IE的页面调小, 让ActiveForm显示不完全的时候. 拖动IE的滚动条,发现ActiveForm会花屏
不知怎么回事? 有哪位高手救我于水火之中??
 
奇怪,怎么dfw这几天没有人啦. 还好我找到答案了.
 
答案是什么>?
我也想知道!
 
answer is bug.
 
<soj>什么原因阿</soj>
 
拖动滚动条会触发一个滚动条的消息
截获这个消息,在这个消息里处理刷屏
 
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 !

可能很多人用此法解决了,但我用这个方法并没有解决。
后来我把Activeform放到layer中就行了(不用上面方法)。
 
o?? mytree说的可是真的??
 
接受答案了.
 
后退
顶部