新手,使用流加载内存中的HTML文件的问题。
void CWlyGView::OnInitialUpdate(){ CHtmlView::OnInitialUpdate(); Navigate2(_T("about:blank"),NULL,NULL);}int CWlyGView::ShowHtml(CString strHtml){ CoInitialize(NULL); CComPtr<IHTMLDocument2> pDoc; pDoc = (IHTMLDocument2*)this->GetHtmlDocument(); ASSERT(pDoc); CComQIPtr<IPersistStreamInit> spPersistStream(pDoc); if(spPersistStream==NULL) return 0; LPTSTR lpMem = (LPTSTR)::GlobalAlloc( GPTR,strHtml.GetLength()+1); lstrcpy(lpMem,strHtml.GetBuffer()); CComPtr<IStream>spStream; CreateStreamOnHGlobal( lpMem, TRUE, &spStream ); // 初始化后,装载显示 spPersistStream->InitNew(); spPersistStream->Load(spStream ); return 0;}void CHTTPDlg::OnBnClickedButtonHttptext(){ // TODO: 在此添加控件通知处理程序代码 CMainFrame* pCMF = (CMainFrame*)AfxGetApp()->m_pMainWnd; CWlyGView* pCWV = (CWlyGView*)pCMF->GetActiveView(); CString url ="..."; CString urll ="..."; /*pCWV->Navigate2(urll,NULL,NULL);*/ CString header = ""; header += "..."; header += "\r\n "; header += "... header += "\r\n "; header += "..."; header += "\r\n "; header += "..."; header += "\r\n "; header += "..."; header += "\r\n "; header += "Connection: Keep-Alive"; header += "\r\n "; header += "\r\n "; header += "Host: "; header += "\r\n "; header += "Referer: "; header += "\r\n "; header += "User-Agent: header += "\r\n "; header += "\r\n "; CString PostData = " "; CHttp* pCHttp = new CHttp; CString retHtml = pCHttp->post(url,header,PostData); pCWV->ShowHtml(retHtml);}