新手请教,MDI程序里:
启动chtmlview以后,chtmlview怎么装载资源里的网页?
还有,如果想让chtmlview直接打开某个本地网页怎么做?

解决方案 »

  1.   

    给你代码, 结贴给分.
    void CMyView::MakeResFile(UINT uResID, CString &csFile, LPCTSTR tstrType /* = RT_HTML*/)
    {
    HRSRC hRes = FindResource (AfxGetResourceHandle(), MAKEINTRESOURCE(uResID), tstrType); HGLOBAL glFile = LoadResource (AfxGetResourceHandle(), hRes); LPVOID lpFile = LockResource(glFile); HANDLE hFile = CreateFile(csFile, GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, 0, NULL); DWORD dwWrite; if (!WriteFile(hFile, lpFile, SizeofResource (AfxGetResourceHandle(), hRes), &dwWrite, NULL))
    {
    return;
    } CloseHandle(hFile); FreeResource(glFile);
    }
    //在OnInitUpdate()里这样调用:MakeResFile(IDR_HTML2, m_strPathError, RT_HTML);Navigate2(m_strPathError, NULL, NULL);
      

  2.   

    对不起,我没讲清楚
    我的意思是,mdi里某个doctemplate用的是chtmlview,这个view平时用来浏览网页;但在启动的时候会有三种情况发生:
    1.装载exe里的资源;
    2.打开某个网页;
    3.打开某个本地文件;因为情况不同,因此没法子oninitupdate里写死,我感觉只能通过opendocument来实现,但这如何能做到呢?
      

  3.   

    pCHTMLView->LoadFromResource("RESNAME"); 
    装载资源名//--资源访问    这样也可
        CString s;   
        s.Format("res://%s.exe/%d", ::AfxGetAppName(), IDR_HTML1);   
        Navigate2(s);   对于本地文件,用File协议
    Navigate("file://C:\\abc.html")