1,317
社区成员
发帖
与我相关
我的任务
分享


CrnSetHtmlContent(spDoc, Memo1->Lines->Text.c_str());__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
CppWebBrowser1->Navigate(L"about:blank");
}
#include <mshtml.h>
//---------------------------------------------------------------------------
BOOL __stdcall CrnSetHtmlContent(IHTMLDocument2 *spDoc, LPCTSTR lpText)
{
BOOL bResult = FALSE;
if (!spDoc)
return bResult;
IStream *pStream;
IPersistStreamInit *psi;
size_t nLen = _tcslen(lpText);
HGLOBAL hHTMLText = ::GlobalAlloc(GPTR, nLen * sizeof(TCHAR) + 1);
if (!hHTMLText)
return bResult;
::CopyMemory(hHTMLText, lpText, nLen * sizeof(TCHAR));
HRESULT hr = ::CreateStreamOnHGlobal(hHTMLText, true, &pStream);
if (SUCCEEDED(hr))
{
hr = spDoc->QueryInterface(IID_IPersistStreamInit, (void **)&psi);
if (SUCCEEDED(hr))
{
hr = psi->Load(pStream);
bResult = SUCCEEDED(hr);
psi->Release();
}
pStream->Release();
}
::GlobalFree(hHTMLText);
return bResult;
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
IHTMLDocument2 *spDoc = NULL;
HRESULT hr = CppWebBrowser1->Document->QueryInterface(
::IID_IHTMLDocument2, (void **)&spDoc);
if (SUCCEEDED(hr))
{
CrnSetHtmlContent(spDoc, TEXT("YY挖卡卡"));
spDoc->Release();
}
}
#include <mshtml.h>
//....
cpwbrwsr1->Navigate(L"about:blank");
VARIANT* v;
IHTMLDocument2* dom = NULL;
(void*)dom = cpwbrwsr1->Document;
tagSAFEARRAYBOUND sab[1];
sab[0].lLbound = 0;
sab[0].cElements = 1;
tagSAFEARRAY* sa = SafeArrayCreate(VT_VARIANT, 1, sab);
HRESULT hr = SafeArrayAccessData(sa, (LPVOID*)&v);
if (SUCCEEDED(hr))
{
BSTR html = L"<H3>hello web...</H3>"; // HTML内容
v->vt = VT_BSTR;
v->bstrVal = html;
SafeArrayUnaccessData(sa);
dom->write(sa);
}
SafeArrayDestroy(sa);
dom->Release();
//....
cpwbrwsr1->Navigate(L"about:blank");
VARIANT* v;
IHTMLDocument2* dom = NULL;
(void*)dom = cpwbrwsr1->Document;
tagSAFEARRAYBOUND sab[1];
sab[0].lLbound = 0;
sab[0].cElements = 1;
tagSAFEARRAY* sa = SafeArrayCreate(VT_VARIANT, 1, sab);
HRESULT hr = SafeArrayAccessData(sa, (LPVOID*)&v);
if (SUCCEEDED(hr))
{
v->vt = VT_BSTR;
v->bstrVal = SysAllocString(WideString(mmo1->Text)); // HTML内容
dom->write(sa);
SafeArrayUnaccessData(sa);
}
SafeArrayDestroy(sa);
dom->Release();
