かなり昔にお世話になったみけにゃんです。
Acty(acty.sakura.vg)のタブブラウザサンプルをお手本にして
タブブラウザを作ってるのですが、IEの[表示(V)]-[ソース(C)]の機能を
実装しようとして分からなくて困っています。
Googleとかで検索しても全然これについては見つからないので
かなり悩んでいます。もし分かる人がいましたら教えてください。
参考になるか、自信ありませんが・・
ブラウザで表示すべき内容は、一時フォルダおよびファイルに保存しておけば
中身を表示するフォームを作って呼び出すだけでは、だめなんですかね?
こんな感じでどうでしょう。
WebBrowserがどのコンポーネントか解りませんが、Document(IHTMLDocument2インターフェース)プロパティを、IOleCOmmandTargetインターフェースにキャストして、Execを使えばできると思います。
IOleCommandTargetは、ActiveXユニットに定義されています。
CGID_WebBrowser, HTMLID_VIEWSOURCEは、IEConstユニットに定義されていると思います。
UIWebBrowserで動作確認済です。
# WinXPproSP2+Delphi7pro+IE6.0SP2
var
ComTarget: IOleCommandTarget;
pIn, pOut: OleVariant;
begin
ComTarget := WebBrowser.Document As IOleCommandTarget;
pIn := NULL;
pOut := NULL;
ComTarget.Exec(@CGID_WebBrowser, HTMLID_VIEWSOURCE, 0, pIn, pOut);
end;
環境はWindows2000SP4で以前のメーラの質問のときのように
Delphi6 PersonalにUIWebbrowserを入れてます。
→最初はTWebbrowserだったけれどキー入力部分でこちらにしました。
ちなみにメーラの開発環境はVC++環境にしちゃいました。≡>_<≡
一応解決したのですが・・・。
Nullが未定義とかいわれてしまいました。T_T
NULLはDelphi7からですかね。
Delphi7ではVariantsに定義されているのですが。
要は、pIn, pOutをVariantのNULL(タイプ=varNull)にしてやればよろしいかと思います。
未使用っぽいので、代入せずに呼べばよいのかも。
VariantはVariantsに定義されているようですから、
usesにVariantsを追加すればどうでしょう。
ツイート | ![]() |