读书人

怎么实现复制和全选CppWebBrowser 内容

发布时间: 2012-02-12 17:16:33 作者: rapoo

如何实现复制和全选CppWebBrowser 内容功能,通过自己定义的菜单。
CppWebBrowser

我是用 TStreamAdapter 类实现的载入流功能,但不知不执行 delete sa 会不会造成内存泄露,还有就是

SendMessage(CppWebBrowser1-> Handle,WM_COPY,0,0);
SendMessage(CppWebBrowser1-> Handle,EM_SETSEL,0,-1);

两条指令无法实现复制和全选CppWebBrowser 功能,不知还有什么别的好办法。在这里先谢谢了。

TMemoryStream *pstream =new TMemoryStream();

pstream-> Write(cnt.c_str(),cnt.Length());
pstream-> Seek(0,0);

sa = new TStreamAdapter(pstream,soReference);

// 初始化文档.
hr = pPersistStreamInit-> InitNew();

if ( SUCCEEDED(hr) )
{
// 载入流内容
hr = pPersistStreamInit-> Load((IStream*)*sa);
}

pPersistStreamInit-> Release();


//delete sa;
delete pstream;

[解决办法]
全选:
CppWebBrowser-> ExecWB(Shdocvw_tlb::OLECMDID_SELECTALL,Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT,NULL,NULL);
复制:
CppWebBrowser-> ExecWB(Shdocvw_tlb::OLECMDID_COPY,Shdocvw_tlb::OLECMDEXECOPT_DODEFAULT,NULL,NULL);

读书人网 >C++ Builder

热点推荐