CHTMLView处理显示数据

不是通过指定navigate来DisplayHTML  Code,而是把代码放在CString里,可以动态的改变Code而让CHtmlViewDisplay出来
用CHtmlView::GetHtmlDocumentMethod取得document对象的IDispatch接口,然后用IDispatch::QueryInterface找到IHTMLDocument2接口, 
   
  调用IHTMLDocument2::write写入CString数据,就可以: 
   
  msdnCode: 
   
  IHTMLDocument2  *document;  //  Declared  earlier  in  the  code 
  HRESULT  hresult  =  S_搞定; 
  VARIANT  *param; 
  SAFEARRAY  *sfArray; 
  BSTR  bstr  =  SysAllocString(OLESTR("Written  by  IHTMLDocument2::write().")); 
   
  //  Creates  a  new  one-dimensional  array 
  sfArray  =  SafeArrayCreateVector(VT_VARIANT,  0,  1); 
   
  if  (sfArray  ==  NULL  ||  document  ==  NULL)  { 
  goto  cleanup; 
  } 
   
  hresult  =  SafeArrayAccessData(sfArray,(LPVOID*)  &  param); 
  param->vt  =  VT_BSTR; 
  param->bstrVal  =  bstr; 
  hresult  =  SafeArrayUnaccessData(sfArray); 
  hresult  =  document->write(sfArray); 
   
  cleanup: 
  SysFreeString(bstr); 
  if  (sfArray  !=  NULL)  { 
  SafeArrayDestroy(sfArray); 
  }

你可能感兴趣的:(CHTMLView处理显示数据)