从CHtmlView派生了个类,做为控件内嵌到对话框里,加载HTML文件,点击超链接,是在这个控件窗口中显示网页内容,我想点击超链接产生个新IE窗口,然后在这个IE窗口中打开网页内容,求指点。

解决方案 »

  1.   

    请教下怎么处理,OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel)是改变ppDisp的指向么,能否具体下,google下没找到具体的信息。
      

  2.   

    CHtmlView::OnNewWindow2 ,MSDN上说This member function is called by the framework when a new window is to be created for displaying a resource.
    CHtmlView为基类的单文档,默认打开http://www.msdn.microsoft.com/visualc/,点开个超链接没有在新的IE窗口中打开,重载了OnNewWindow2,根本没调用到。求解下OnNewWindow2是在什么情况下触发的,如果说要产生新窗口来显示资源的情况下触发的话,那在原窗口显示就不会调用这个函数。求解。
      

  3.   

    找了些资料。
    处理 OnNewWindow2 事件,创建一个新的 webbrowser ,通过 get_Application 获取 IDispatch指针,丢给 OnNewWindow2 的参数 ppDisp 
    但是我点超链接OnNewWindow2 都没有触发,求教育
      

  4.   

    是否在新窗口中打开是在html里描述的。如果html没有指定在新窗口打开,点击时OnNewWindow不会触发。
    你自己用url调用ShellExecute就可以了。
      

  5.   

    请问下点击到的链接如何获取到URL,在OnBeforeNavigate2中不知道怎么过滤
      

  6.   

    已解决,结合7楼,参照以下资料。过1,2天再结
    http://live.aulddays.com/tech/08/chtmlviewlinkclick/#step2