在WebBrowser应用里,遇到新开窗口时,我们可以在NewWindow2事件里作处理,让他
他打开我们自己的窗口了,不然他就打开的是默认IE的窗口了,一般都没问题,可以做到MDI应用的效果,象MyIE2现在问题是我如何对新窗口实现如下Javascript脚本的效果
window.open (url, "_blank" , "toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,top=50,left=120,width=600,height=400" );
也就是如何取得这些属性来设置新开的窗口

解决方案 »

  1.   

    在新窗口中截获BeforeNavigate2消息,察看其参数:
    void BeforeNavigate2(          IDispatch* pDisp,
        VARIANT* &url,
        VARIANT* &Flags,
        VARIANT* &TargetFrameName,
        VARIANT* &PostData,
        VARIANT* &Headers,
        VARIANT_BOOL* &Cancel
    );
      

  2.   

    如果你的View是HtmlView
    可以在BeforeNavigate2消息的响应函数里直接
    pYourHtmlView->Navigate(url, Flag, PostData, Headers, FALSE);
      

  3.   

    Carapee(山豆根) :
    你讲的好像不行另外,网页脚本里关闭窗口时,WebBrowser控件不见了
    但又没有事件通知我关闭了窗口
      

  4.   

    masterz():
    你说的这个方法:
    DWebBrowserEvents2::OnQuit Event
    是不行的关闭窗口的问题我已经解决了
    要通过OnParentNotify事件才行但其他问题还是有待解决!!!!!!
      

  5.   

    楼主: 
         请教一下, 在同一窗口中如何打开新开窗口, 我正在寻求解决办法, 能否告知, 谢了!
         在NewWindow2事件里怎么处理, 另如何取得新开窗口的url,?
      

  6.   

    新开窗口应该与WebBrowser控件没有关系吧?
      

  7.   


    如何取得新开窗口的url?
    不知你是否是想进行URL过滤?
    是在OnBeforeNavigate2事件中取得该URL,然后进行匹配过滤
    建议你去学习一下MyIE的源码
      

  8.   

    楼主: 我是想将HTML所有内容都强制显示在我指定的一个窗口中, 同时提前知道用户点击了哪个新的链接, 如何实现,请赐教?, 最好是有例子程序, 想要分另开帖子给,多高都行