老总让我把一个很大的HTML文件分割成很多小的文件来显示打印,
而我对于VC不熟悉,对COM也只是在VB应用方面有些了解。我现在使用put_innerHTML实现了显示,但是右键看源文件的时候只有
<html></html>,如果用鼠标选择一下,程序就死了。我不想使用临时文件的方式,因为这样会有大量的临时文件!
而且也不方便数据访问。如何实现不使用navigate2,显示和打印都没有问题?我做这个程序的目的是打印
我现在有两个效果没有达到,一个是侦测系统的打印队列里面有多少打印任务,
如果任务多,我就暂时不打印。
一个是让用户选择某个打印机,某个纸型,然后记录下来,以后都不用再让用户
来选择。上面的问题有些我在VB问过,没有人知道,
希望在这里能够碰上好运。但解决问题还是要靠自己,看msdn去了

解决方案 »

  1.   

    http://www.csdn.net/develop/read_article.asp?id=18465
    浏览器控件教学:使用流加载和保存HTML内容 (原创) 102 2003-5-16 
    还没审核通过……
      

  2.   

    jiangsheng(蒋晟.Net) 老大:拜读了你的大作,看到下面这个函数可能对我有帮助
    HRESULT LoadWebBrowserFromStream(IWebBrowser2* pWebBrowser, IStream* pStream)
    但是这个IWebBrowser2*我怎么能够得到?我用的是chtmlview
      

  3.   


    我的视类也是从CHtmlView派生的
    /******************************************************************
    @Function: bool SetText(LPCTSTR lpszText)
    @Description: 利用直接向浏览器控件写页面内容的方式将指定的WEB文本显示在页面上。
    @Parameters:
    lpszText [in] 页面文本。
    @Return:
    true:成功 , false: 失败
    @History
    TangXianqiang, 2002-12-10, 创建
    ******************************************************************/
    bool CFreeFunView::SetText(LPCTSTR lpszText)
    {
    bool bSuc = false;
    HGLOBAL hHTMLText = NULL;
    int size = (int)strlen(lpszText);
    hHTMLText = GlobalAlloc(GMEM_MOVEABLE | GMEM_NODISCARD, size);
    if (hHTMLText)
    {
    LPVOID pBuff = GlobalLock(hHTMLText);
    if (pBuff)
    {
    memcpy(pBuff, lpszText, size);
        
    LPDISPATCH pHtmlDoc = GetHtmlDocument();// get_Document();
    if (pHtmlDoc)
    {
    IPersistStreamInit* pPersistStreamInit = NULL;
    IStream *pStream = NULL;
    HRESULT hr;
    hr = CreateStreamOnHGlobal(hHTMLText, TRUE, &pStream);
    if (SUCCEEDED(hr))
    {
    // Query for IPersistStreamInit.
    hr = pHtmlDoc->QueryInterface(IID_IPersistStreamInit, (void**)&pPersistStreamInit);
    if (SUCCEEDED(hr))
    {
    // Initialize the document.
    hr = pPersistStreamInit->InitNew();
    if ( SUCCEEDED(hr) )
    {
    // Load the contents of the stream.
    hr = pPersistStreamInit->Load(pStream);
    if (SUCCEEDED(hr))
    {
                         bSuc = true;
    }
    }
    pPersistStreamInit->Release();
    }
    pStream->Release();
    }
    pHtmlDoc->Release();
    }
    GlobalUnlock(hHTMLText);
    }
    GlobalFree(hHTMLText);
    }
        return bSuc;
    }
      

  4.   

    hr = pWebBrowser->get_Document( &pHtmlDoc );
    改成hr = GetHtmlDocument( &pHtmlDoc );就可以……不要硬套