有三个Webbrowser放在panel中,现在我用Webbrowser的bringTofront切换这三个Webbrowser在panel中的先后次序,但是切换的时候闪烁太严重,请问有没有方法解决??

解决方案 »

  1.   

    在panel的这三个Webbrowser、是同時可見嗎?
    若只顕示一個、可用Panel.Visible属性切换...
      

  2.   

    简单的方法,用一个pagecontrol或者notebook,创建三个页面,每个页面放一个WEB控件,这样切换页面就可以,,应该不会闪的。
      

  3.   

    用PageControl或者notebook不是我的本意,这个不行,
    三个Webbrowser是可见,没有隐藏,只用bringToFront即可以把每一个调到最前面,
    而且如果用Panel.visible这个属性的话,也会闪烁的
      

  4.   

    有三个Webbrowser放在panel中,现在我用Webbrowser的bringTofront切换这三个Webbrowser在panel中的先后次序,但是切换的时候闪烁太严重,请问有没有方法解决??
    Webbrowser1.visible:=false;
    webbrowser2.visible:=false;
    webbrowser3.visible:=true;
    用这样的方法试试,不要显示的先不可见,要显示的后设置为TRUE
      

  5.   

    我试了多遍了,不行,只要是重画的都不行,可能是webbrowser重画的过程根别的控件不一样,所以闪烁这么严重,我在网上找了遍文章,请各位看看,我不知道如何在delphi里面实现(文章在下一帖)
      

  6.   

    Web Browser控件和CHtmlView有什么具体应用我也不废话了,咱们开门见山吧。通常使用上述两个东西的时候会发现切换的时候有很严重的闪烁。仔细观察你会发现,比方在ChtmlView中,窗口的绘画过程是:先画View的背景,然后在上层画控件(即网页)解决办法很简单,禁止View进行那无用的导致闪烁的绘制背景过程。具体做法 :在派生类里处理WM_ERASEBKGND消息BOOL CMyHtmlView::OnEraseBkgnd(CDC* pDC) 
    {
     return TRUE; 
    // return CHtmlView::OnEraseBkgnd(pDC);
    }通过上面的改动以后,你会发现VIEW会跟腾讯的QQ浏览器一样无闪烁:)Web Browser控件的相应做法类似,不再详述。
      

  7.   

    上楼的代码有没有办法转成delphi的