お知らせ

電子会議

ライブラリ

パレット

Delphi FAQ検索

Delphi FAQ一覧

サンプル蔵





FDelphi FAQ
16番会議室「玉石混淆みんなで作るSample蔵」に寄せられたサンプル

"TWebBrowserを使ってみる"



 ちょっとしたHTMLファイルを表示させたい時とかありませんか?そんな時は、
THTMLを使ってもいいんですが、普段見ているのと微妙に違ったり、新しいタ
グに対応してなかったり、配布が面倒だったりします。そんなあなたにお贈り
するソリューションはInternet ExplorerのActiveXを使うということです。こ
れでIEと全く同じ表示が可能です。またバグが出ちゃった場合に、IEのバグと
言い張ってごまかす事も可能なオプション付き。(。_゜☆\ バキ

 まず、Delphiのメニューから「コンポーネント」→「ActiveXコントロールの
取り込み」を選び、Microsoft Internet Controls(Version 1.1)というのを選び、
クラス名にTWebBrowser_V1とTWebBrowserがあるのを確認してインストールを実
行します。

 ※Windows2000、Delphi4で確認。環境によって微妙に変わってくるカモ。

 ちなみにMSHTML_TLBを見ると、
consst
  True = $00000001;
  False = $00000000;
 なる恐怖の定義があり、既存のDelphiソースがコンパイルできなくなります。
私はコメントにしちゃってます。



 usesにMSHTML_TLBを加えて、FormにTWebBrowser_V1とButtonを3つ置きます。

procedure TForm1.Button1Click(Sender: TObject);
begin
  WebBrowser_V11.GoHome;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  s: string;
  HtmlView: DispHTMLDocument;
begin
  s := '<html><body><font color=red size="+3">て</font>すと</body></html>';
  HtmlView := WebBrowser_V11.Document as DispHTMLDocument;
  if HtmlView <> nil then HtmlView.body.innerHTML := s
end;

procedure TForm1.Button3Click(Sender: TObject);
var
  HtmlView: DispHTMLDocument;
begin
  HtmlView := WebBrowser_V11.Document as DispHTMLDocument;
  if HtmlView <> nil then
  begin
    ShowMessage(HtmlView.body.innerHTML);
    ShowMessage(HtmlView.body.innerText);
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
var
  Flags: OleVariant;
begin
  WebBrowser_V11.Navigate('http://www.inprise.co.jp',
                        Flags, EmptyParam, EmptyParam, EmptyParam);
end;

■使い方■
 Buttonを1から順番に押します。私の環境ではGoHomeは「about:blank」に
設定されており、これかNagivate等を実行しておかないと、Button2でうまく
表示できません。
 Button4にNavigateのサンプルも加えておきます。ここのURLにファイル名
を入れても表示できます。

                                      00/05/27 (Sat) ぶんぶん鈴木

Original document by ぶんぶん鈴木    氏 ID:(EZA00106)


ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum の16番会議室「玉石混淆みんなで作るSample蔵」に投稿されたサンプルです。これらのサンプルはボーランド株式会社がサポートする公式のものではありません。また、必ずしも動作が検証されているものではありません。これらのサンプルを使用したことに起因するいかなる損害も投稿者、およびフォーラムスタッフはその責めを負いません。使用者のリスクの範疇でご使用下さい。

Copyright 1996-2002 Delphi Users' Forum