codeguru有一个memorychtmlview的例子

解决方案 »

  1.   

    我做过的:
    先navigate到"about:blank",OnDocumentComplete时
    GlobalAlloc一个HGLOBAL,里面存放html字符串,然后执行下面代码:
    void LoadHtmlStream(HGLOBAL pHtml)
    {
    HRESULT hr;
    IDispatch * pHtmlDispatch=NULL;
    IPersistStreamInit * pPersistStreamInit = NULL;
    IStream * pStream = NULL; pHtmlDispatch=m_pBrowser->GetDocument();
    hr = CreateStreamOnHGlobal( pHtml, true, &pStream );
    ASSERT(SUCCEEDED(hr));
    // Query for IPersistStreamInit.
    hr = pHtmlDispatch->QueryInterface( IID_IPersistStreamInit,  (void**)&pPersistStreamInit );
    ASSERT(SUCCEEDED(hr));
    // Initialize the document.
    hr = pPersistStreamInit->InitNew();
    ASSERT(SUCCEEDED(hr));
    // Load the contents of the stream.
    hr = pPersistStreamInit->Load( pStream );
    ASSERT(SUCCEEDED(hr));
    pPersistStreamInit->Release();
    pStream->Release();
    pHtmlDispatch->Release();
    }
    很麻烦,是不是?我当初就只能这样做了