读书人

在WTL中创建WEBBrowser视图的有关问题

发布时间: 2012-04-02 19:58:59 作者: rapoo

在WTL中创建WEBBrowser视图的问题
视图类的声明:

C/C++ code
class CIEEWrapView :     public CWindowImpl<CIEEWrapView, CAxWindow>,    public IDispEventSimpleImpl<_nDispatchID, CIEEWrapView, &DIID_DWebBrowserEvents2>

在视图类的OnCreate中创建WEBBrowser:
C/C++ code
LRESULT CIEEWrapView::OnCreate(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& /*bHandled*/){    LRESULT lRet = DefWindowProc(uMsg, wParam, lParam);    // Connect events    CComPtr<IWebBrowser2> spWebBrowser2;        HRESULT hRet = QueryControl(IID_IWebBrowser2, (void**)&spWebBrowser2); //// 此处总是返回失败,不解    if(SUCCEEDED(hRet))    {        if(FAILED(DispEventAdvise(spWebBrowser2, &DIID_DWebBrowserEvents2)))            ATLASSERT(FALSE);    }    // Set host flag to indicate that we handle themes    CComPtr<IAxWinAmbientDispatch> spHost;    hRet = QueryHost(IID_IAxWinAmbientDispatch, (void**)&spHost);    if(SUCCEEDED(hRet))    {        const DWORD _DOCHOSTUIFLAG_THEME = 0x40000;        hRet = spHost->put_DocHostFlags(DOCHOSTUIFLAG_NO3DBORDER | _DOCHOSTUIFLAG_THEME);        ATLASSERT(SUCCEEDED(hRet));    }    this->m_pWebBrowser = spWebBrowser2;    ViewPage(_T("www.google.com"));    return lRet;}


奇怪的的是QueryControl总是返回失败,这是为何?

[解决办法]
那就是查询失败喽.
至于为什么失败,不懂,友情UP吧

读书人网 >C++

热点推荐