Welcome to SapporoWorks! We create stimulating network programs.
By a demand from user, SapporoWorks evolves.
トップページ| ソフトウエア| シェアウエア登録| セキュリティ情報| 開発情報| ドキュメント|
開発情報 > C++BuilderからGeckoエンジンを使う方法


概要

Geckoエンジンとは、Mozilla.org により開発されたHTMLレンダリング等のエンジンです。C++Buildrでは、IEのエンジンであるTCppWebBrowserが添付されており簡単に使用することができますが、Geckoエンジンも同様のActiveXコントロールとして、プログラムに張り付けて利用できます。
※gecko レイアウトエンジン FAQ

Geckoエンジンのインストール

Geckoエンジンは、Windowsに標準で添付されておりませんので、インストールする必要があります。 Mozilla ActiveX Controlのページで配布されております、ActiveXコントロールをダウンロードしてください。インストーラーを実行するだけでインストールは完了します。
※2005/05/02現在の最新バージョンは、「Mozilla ActiveX Control 1.7.7」です。

C++BuilderへのActiveXコントロールのセットアップ
続いてC++BUilderから、インストールしたコントロールを使用できるようにセットアップします。

@ メニューから「コンポーネント(C)」−「ActiveXコントロールの取り込み(X)...」選択してください。


A 「ActiveXの取り込み」ダイアログで、MozillaControl タイプライブラリを選択して「インストール」ボタンを押してください。
 ※クラス名には、「TMozillaBrowser」が表示されているはずです。


B「既存のパッケージへ追加」を選択し、コンパイルを実行してください。




Cパッケージの内容を確認し、MOZILLACONTROLLibが追加されていれば、保存してインストールを完了してください。



DActiveXのページに、MozillaBrowserのアイコンが表示されていれば、インストールは成功です。


Geckoエンジンを使用したプログラム
MozillaBrowserコントロールも、TCppWebBrowserとほとんど同じ感覚で使用できます。
ヘルプが有りませんが、利用可能なプロパティ及びイベントは、オブジェクトインスペクタで確認できます。また、利用可能なメッソッドについては、
MOZILLACONTROLLib_OCX.hを確認してみてください。

ソース
 __fastcall TForm1::TForm1(TComponent* Owner)
     : TForm(Owner)
 {
     MozillaBrowser1->GoHome();
 }
 //---------------------------------------------------------------------------
 
 void __fastcall TForm1::ToolButton3Click(TObject *Sender)
 {
     // 「ホーム」ボタンが押された場合の処理
     MozillaBrowser1->GoHome();
 }
 //---------------------------------------------------------------------------
 
 
 void __fastcall TForm1::ToolButton2Click(TObject *Sender)
 {
     // 「中止」ボタンが押された場合の処理
     MozillaBrowser1->Stop();
 }
 //---------------------------------------------------------------------------
 
 void __fastcall TForm1::ToolButton6Click(TObject *Sender)
 {
     // 「進む」ボタンが押された場合の処理
   MozillaBrowser1->GoForward();
 }
 //---------------------------------------------------------------------------
 
 void __fastcall TForm1::ToolButton5Click(TObject *Sender)
 {
     // 「戻る」ボタンが押された場合の処理
     MozillaBrowser1->GoBack();
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::ToolButton4Click(TObject *Sender)
 {
     // 「更新」ボタンが押された場合の処理
     MozillaBrowser1->Refresh();
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::ToolButton1Click(TObject *Sender)
 {
     // 「移動」ボタンが押された場合の処理
     MozillaBrowser1->Navigate(WideString(Edit1->Text.c_str()));
 }
 //---------------------------------------------------------------------------
 
 void __fastcall TForm1::MozillaBrowser1StatusTextChange(TObject *Sender,
       BSTR Text)
 {
     // ステータスが変化したときのイベント処理
     StatusBar1->SimpleText=Text;
 
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::MozillaBrowser1DocumentComplete(TObject *Sender,
       LPDISPATCH pDisp, Variant *URL)
 {
     // ドキュメントのナビゲートが完了した時点でURL及びタイトルを取得する
     Caption = MozillaBrowser1->LocationName;
     Edit1->Text = MozillaBrowser1->LocationURL;
 
 }
 //---------------------------------------------------------------------------
 void __fastcall TForm1::Edit1KeyDown(TObject *Sender, WORD &Key,
       TShiftState Shift)
 {
     // エディットボックスでENTERが押されたとき、「移動」
     if(Key==VK_RETURN){
         ToolButton1Click(Sender);
     }
 }
 

サンプル

サンプルプログラム実行画面

ソースファイルのダウンロード 011-src.LZH 6Kbyte 実行ファイルのダウンロード 011-bin.LZH 326Kbyte

開発情報 > C++BuilderからGeckoエンジンを使う方法

copyright(c) 1995- SapporoWorks
当サイトはリンクフリーです。リンク時に連絡などは必要有りません。また、どのページにリンクして頂いても構いません。