各位大虾帮助分析分析“iWPS-上网咖啡”中的pop是怎么实现的(未弹出,生成新的tabsheet)?同时分析分析如何多个页面共用一个webbrowser,iWPS声称打开的多个页面是共用一个webbrowser的。

解决方案 »

  1.   

    onNewwindow2Be carefull with memory leak.Go egroups.com to find out a group named [delphi webbrowser] or [delphi browser].
    There are a lot of QA about reusing webbrowser under delphi.:)
      

  2.   

    请cxgtommy给个例子,谢谢。[email protected]
      

  3.   

    to cxtommy: egroups.com访问速度极慢(我走的是专线),请将您获取的关于此问题的帮助惠寄小弟:[email protected],谢谢。
      

  4.   

    很简单的
    比如你放上两个webbrowser如wb1,wb2
    在wb1的OnNewwindow2中处理,将第二个参数赋给wb2即可
    ppDisp := wb2.DefaultDispatch;
      

  5.   

    to ace:假如我弹出一个窗口应该可行,假如我从wb2中又弹出_blank窗口,再弹出....该怎么办?
      

  6.   

    这还不简单么
    Create新的webbrowser不就行了?
    比如你用pagecontrol
    如果需要新开一个窗口
    先创建一个tabsheet,在create一个webbrowser
    再把webbrowser的parent设为tabsheet,就ok了
    TWinControl(webbrowser1).Parent := NewTab;对了,再把新webbroser的onnewwindow2等于你的onnewwindow2
      

  7.   

    to ace:
    pls look at this tips on
    http://expert.csdn.net/TopicView.asp?id=29406to ccll:
    sorry. in fact, i hadn't installed delphi. so, i cannot make a sample code for u. I had suggested some sites for u. In fact, "ole viewer" is a power tool from visual studio. U can get full set of ie's interface defination by that.:)
    oicq: 1766598
    mail: [email protected]
      

  8.   

    我曾经作过一个软件,就像ace说的一样,在 OnNewWindow2里面添加一个命令即可
    比如你要做成ie那样,假设你的程序叫做ie2.exe 就写成 
    procedure OnNewwindow2...
    begin
      winexec('ie2.exe '+ 传过来的地址) 
    end;如果要做成 iWPS那样,就写成:procedure OnNewwindow2...
    begin
      创建一个新的Webbrower;
      创建一个新的Tabcontrol控件;
      新的Webbrower.Navigate(传过来的地址);
    end;
      

  9.   

    to ace:能否共用一个webbrowser,iWPS声称是共用一个的。也请大家再想想,准备给分了!
      

  10.   

    iWPS的意思是共用一个程序而已,不是共用一个Webbrowser,每个都是Webbrowser的新的实例.