如何实现复制和全选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);