如何使用CppWebBrowser动态改变WEB页面?

MAX°孟兆 2003-10-03 11:26:09
我想通过CppWebBrowser像JScript动态改变页面的内容,请问该如何实现?

...全文
39 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
MAX°孟兆 2003-10-05
  • 打赏
  • 举报
回复
TO ThinkX:
具体如何实现呢?我不太会COM的东西
tuiger2003 2003-10-03
  • 打赏
  • 举报
回复
BCB下如何改变CppWebBrowser的Html内容

void __fastcall TForm1::SetHtml( TCppWebBrowser *WebBrowser,AnsiString Html )
{
IStream *Stream;
HGLOBAL hHTMLText;
IPersistStreamInit *psi;

if( WebBrowser->Document == NULL )
return;
hHTMLText = GlobalAlloc( GPTR, Html.Length() + 1 );
if( 0 == hHTMLText ) {
ShowMessage( "GlobalAlloc Error" );
return;
}

CopyMemory( hHTMLText, Html.c_str(), Html.Length() );

OleCheck( CreateStreamOnHGlobal( hHTMLText, true, &Stream ) );

try {
OleCheck( WebBrowser->Document->QueryInterface( __uuidof(IPersistStreamInit), (void **)&psi ) );
try {
OleCheck( psi->InitNew() );
OleCheck( psi->Load(Stream) );
} catch( ... ) {
delete psi;
}
} catch( ... ) {
delete Stream;
}
delete psi;
delete Stream;
}
ThinkX 2003-10-03
  • 打赏
  • 举报
回复
完全有办法,注意到
TCppWebBrowser::Document就是页面的document,
它是一个IDispatch指针,可以用通用的Automation的方法进行调用。
zihan 2003-10-03
  • 打赏
  • 举报
回复
帮你up了,没有想到办法,除非你自己重新写过那个CPPwebbrowser,因为他也是用的IE内核.
MAX°孟兆 2003-10-03
  • 打赏
  • 举报
回复
我不是这个意思,例如有JSCRIPT代码如下:
form1.text1.value = "fff";
label1.innerHTML = "<b>hhh</b>";
table1.insertRow();

在BCB+CppWebBrowser的结构下如何实现类似功能?
ThinkX 2003-10-03
  • 打赏
  • 举报
回复
to tuiger2003(老虎) :
注意接口是不能被delete的,要用Release()!
叶子哟 2003-10-03
  • 打赏
  • 举报
回复
导航就可以了

604

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder VCL组件使用和开发
社区管理员
  • VCL组件使用和开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧