Duilib 使用IE

1.xml中配置<ActiveX name="ie" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false"/>

2.代码中实现:

CActiveXUI* pActiveXUI = static_cast<CActiveXUI*>(m_pm.FindControl(_T("ie")));
if( pActiveXUI ) 
 {
    IWebBrowser2* pWebBrowser = NULL;
    pActiveXUI->GetControl(IID_IWebBrowser2, (void**)&pWebBrowser);
    if( pWebBrowser != NULL ) 
    {
     pWebBrowser->Navigate(L" http://www.duilib.com",NULL,NULL,NULL,NULL ); 
     pWebBrowser->Release();
    }

  }


CWebBrowserUI 使用

1.XML配置<WebBrowser name="ie" clsid="{8856F961-340A-11D0-A96B-00C04FD705A2}" delaycreate="false"/>

2.创建CWebBrowserEventHandler* m_pWebBrowserEventHandler对象

3.如果不需要滚动条则需要在virtual HRESULT STDMETHODCALLTYPE GetHostInfo(/* [out][in] */ DOCHOSTUIINFO __RPC_FAR *pInfo)中设置pInfo->dwFlags |= DOCHOSTUIFLAG_SCROLL_NO | DOCHOSTUIFLAG_NO3DBORDER;

4.如果不想要菜单则在virtual HRESULT STDMETHODCALLTYPE ShowContextMenu(
/* [in] */ DWORD dwID,
/* [in] */ POINT __RPC_FAR *ppt,
/* [in] */ IUnknown __RPC_FAR *pcmdtReserved,
/* [in] */ IDispatch __RPC_FAR *pdispReserved)
返回S_OK,如果想要显示菜单则返回S_FALSE

5.打开页面

CWebBrowserUI  * pWebBrowserUI = static_cast<CWebBrowserUI *>(m_pm.FindControl(_T("ie")));
 pWebBrowserUI ->SetWebBrowserEventHandler(m_pWebBrowserEventHandler);

if(  pWebBrowserUI != NULL )  {
      pWebBrowserUI ->Navigate2(_T("http://www.duilib.com")); 
 }

你可能感兴趣的:(Duilib 使用IE)