网页中ActiveXForm的刷新 (50分)

  • 主题发起人 主题发起人 zhangshunzhong
  • 开始时间 开始时间
Z

zhangshunzhong

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是Delphi5+Win2000
为什么我的ActiveXForm嵌入网页后,如果IE窗体的大小小于Form的大小,或者这张网页内容很多,出现垂直滚动条,只要滚动垂直滚动条往下看,ActiveXForm被隐去又出现时,就会有刷新问题,
Form中的内容就会乱,连按钮等控件也看不见,只有点刷新才恢复正常
 
呵呵,楼主的问题我没遇到过,不过好像是ActiveXForm的大小最好就是小于IE能显示的大小,在分发时,记得要把更新版本号的选项选中。
 
选不选自动更新版本号都是一样
问题不是在Form大小是不是小于IE能显示的大小,而是如果这张页内容很多,出现垂直滚动条,只要滚动垂直滚动条往下看,ActiveXForm被隐去又出现时,就会有刷新问题
 
选不选自动更新版本号都是一样.这个说法就错了,因为你如果在Delphi中更新了代码,重新编译后,版本号没有更新的话,那会你在IE中重新打开这个ActiveXForm时,它就不会重新一载较新的OCX文件,如果版本号不加的话,IE里运行的还是第一次的ActiveX.
你可以在IE->工具->Internet选项->设置->查看对象 里面看一个你的OCX文件。
 
Joioy:
我的问题不是在自动更新版本号这里,我就是选上了还是老样子,而且我即使不选自动更新版本号,重新编译后新的还是生效,我每次在查看前先Register,查看完后再UnRegister。
“自动更新版本号”的问题就不用讨论了,我需要解决的是刷新问题。
谢谢你对“自动更新版本号”功能的解释
 
有没有高手能替我解答?
 
ActiveXForm的大小最好小于IE能显示的大小,否则滚动时就会出现刷新问题。其实,将ActiveXForm作为一个跳板,从ActiveXForm中弹出所需的窗体即可。
 
我看还是你程序代码的问题,注意ActiveXForm与普通Form的区别,看看Flash就没有什么刷新问题[:D]
 
各位老兄:
  我的ActiveXForm哪怕一行代码也不添加,就加一个按钮,窗体大小就等于按钮的大小,也会有这个问题的
 
期盼高手能提点建设性的意见
 
富翁哪去了?
 
Delphi有问题
 
我自己已经查出问题,是Delphi5.0的问题,不知道原因的朋友请看下面:

Delphi5有重大缺陷,嵌入到网页中的OCX程序,当IE滚动条滚动时,OCX窗体由于位置改变,将重画窗体,重画时窗体的top值取的是OCX窗体和IE客户区顶部的距离,当IE窗口滚动到将OCX窗体隐去一部分时,这时OCX窗体的TOP值按理应该是取负值了,可是其实这时OCX窗体的TOP值却始终大于0,为2,而窗体的height值却变小,于是OCX中的所有控件的位置根据这个值重画,而OCX中所有控件的TOP值不会变,于是所有的控件都变成往下移。纠正的方法是当重画时,重新计算OCX中所有控件的TOP值,不过虽然比原来有所改善,刷新得始终不理想,于是重新装了个Delphi6.0,问题就解决了。

 
多人接受答案了。
 

Similar threads

D
回复
0
查看
765
DelphiTeacher的专栏
D
D
回复
0
查看
669
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部