A-3 ActiveX コントロール

Windows Media Player のように、「コンポーネント」→「ActiveX コントロールの取り込み」によって取り込まれるコントロールのことを、「ActiveX コントロール」と呼びます。取り込んだ後は、Delphiに (元々) 用意されているコンポーネントと同様に使えましたね。違いは、ActiveX コントロール (の中身が) Delphi だけではなく、C++ や Visual Basic 等、他の言語で記述されていても構わないという点です。以前は、他の言語で記述されたコントロール (コンポーネント) を共有することはできませんでした (たとえば、VisualC++ で作ったコントロールを Delphi で使うことはできませんでした)。これを共通で使えるようにしたものが ActiveX コントロールなのです。

どんな言語でコントロールを作っても、それを ActiveX コントロールにしておけば別の言語でも利用することが出来ます。そのため、Windows Media Player に限らず Internet Explorer や RealPlayer など多くのソフトウェアは、インストールされると同時に ActiveX コントロールも用意されています。

【練習問題】

Internet Explorer の ActiveX コントロールを用いて、

エディットに URL (アドレス) を入力して「移動ボタン」を押すと
そのページが表示される、というごく単純な HTML browser を作ってみましょう。

まずは、「コンポーネント」→「ActiveX コントロールの取り込み」で「Microsoft Internet Controls」をインストールします。

すると、コンポーネントパレットに「WebBrowser」というコンポーネントが現れます。(もう1つ、「WebBrowser_V1」という似たようなコンポーネントも現れますが、今回使うのは「WebBrowser」の方です。)

注意  Delphi Professional 版以上には最初から「WebBrowser」コンポーネントは用意されています。

このコンポーネントを用いて、次のようにフォームを作ってください。

コンポーネント Name プロパティ
エディット EditURI
「移動」ボタン ButtonGo
ブラウザ WebBrowser1

「移動」ボタンのイベントハンドラを次のようにします。

procedure TForm1.ButtonGoClick(Sender: TObject);
begin
  WebBrowser1.Navigate(EditURI.Text);
end;

これで完成です。実行し、エディットに http://www.yahoo.co.jp/ と入力して「移動」ボタンを押してみましょう。Yahoo! のページが無事に表示されましたか?

Delphi に最初から備わっているコンポーネントなら、「F1」を押してヘルプを開くことによって、どんなプロパティ・メソッド・イベントがあるか、自分に必要なプロパティ・メソッド・イベントは何か、を調べることが出来ます。しかし、取り込んだ ActiveX コントロールの場合、「F1」によるヘルプは用意されていません。そのため、取り込んだ ActiveX コントロールのプロパティ・メソッド・イベントを調べるためには、MS-Access / MS-Excel / MS-Outlook / MS-PowerPoint / MS-Word / VisualBasic のどれかを使います。

コラム どれも持っていない場合

上記のどれも持っていなくても、http://www.asia.microsoft.com/japan/developer/vbasic/controls/controls.htm から「VisualBasic 5.0 Control Creation Edition SP2」を無料でダウンロードし、インストールすることができます。7.32MB です。

MS-Access / MS-Excel / MS-Outlook / MS-PowerPoint / MS-Word の場合

まずは「ツール」→「マクロ」→「Visual Basic Editor」を開きます。
この Visual Basic Editor の上で、「表示」→「オブジェクト ブラウザ」を選びます。
これでオブジェクトブラウザが起動するので、「ツール」→「参照設定」を開き、
必要な「ライブラリ ファイル」(この場合は「Microsoft Internet Controls」) をチェックし、「OK」を押します。

VisualBasic の場合 (VB5CCE を含む)

まずは、「プロジェクト」→「参照設定」を選びます。
必要な「ライブラリ ファイル」(この場合は「Microsoft Internet Controls」) をチェックし、「OK」を押します。
次に、「表示」→「オブジェクト ブラウザ」を選びます。

オブジェクトブラウザが起動したら

「<すべてのライブラリ>」と書かれた部分から、自分が調べたいライブラリ (この場合は「SHDocVw」) を選びます。
自分が調べたいクラス、自分が調べたいメソッドを順にクリックします。すると、オブジェクトブラウザの下部に簡単な説明が表示されます。

なお、右側の欄に出てくるアイコンは、

プロパティ
手続き・関数
イベント

という意味です。

【基礎課題 A-3】

オブジェクトブラウザから適切な手続きを探し出し、「戻る」ボタンを付け加え、そのボタンを押すと直前のページが表示されるようにしてください。