TCppWebBrowser内のHTMLを制御する
TCppWebBrowserに表示されているHTMLのDOMを操作する方法を紹介しています。
サンプルコード
Variant Doc = Browser->Document;
Doc.OlePropertyGet("body").OlePropertySet(
"innerHTML",
"innerHTMLを置き換えました");
Doc.OlePropertyGet("body").OleFunction(
"insertAdjacentHTML",
"AfterBegin",
"insertAdjacentHTMLで追加しました<br>");
/*
JavaScriptの
document.body.innerHTML = "innerHTMLを置き換えました";
document.body.insertAdjacentHTML(
"AfterBegin",
"insertAdjacentHTMLで追加しました<br>");
に相当
*/
概要
上のようにやればBuilderからもJavaScriptの様にDynamic HTMLにアクセスできます。
QueryInterface
なんかのCOMを使うよりは直感的だと思います。
でも
document.all.tags('img')[1].src = 'a.gif';
なんて行を書くときはメソッドとプロパティの混在でちょっと混乱しますが・・・。
Variant
って意外と便利です。