---- Delphi のサンプル プログラムのブラウザの例をまだ覚えているかもしれません。この例では、コントロール THttp のプロパティとメソッドを使用してブラウザが作成されています。この例は、THttp コントロールの使用方法を理解するのに非常に役立ちます。しかし、実際のブラウザとして使用する人はほとんどいません。その理由は非常に単純です。フレームをサポートしていない、スクリプト言語をサポートしていない、HTML ファイルをローカル ファイルとして表示できない、などです。ほとんどのユーザーは IE または Navigator を使用していますが、私たちプログラマも、ブラウザを使用する必要がある場合は、WinExec や CreatePROcess などのメソッドを通じてプログラム内で外部ブラウザを呼び出して使用します。この方法は確かに非常に手間がかかりませんが、特にアプリケーション ソフトウェアのユーザーのコンピュータ使用レベルがそれほど高くない場合、プログラムの制御を他の外部プログラムに譲るのはちょっと気が引けます。高い。ブラウザを独自のプログラムに埋め込むことができるブラウザ コントロールがあれば素晴らしいでしょう。
---- ソフトウェアの外部環境が WIN95+IE または WIN98 の場合 (このようなソフトウェアの使用率は依然として非常に高いです)、システムにはすでに使用できる IE ブラウザ コントロールが存在する可能性があります。時間に気づいていません。リソースを無駄にせず、使用してください。 IE 3.X または IE 4. の場合、IE コントロールが ActiveX コントロールとしてシステムに登録されており、Delphi でコントロールを使用できることがわかります。
---- IE ブラウザ コントロールは使用する前に表示関数を提供する必要があるため、CreateOleObject を使用してプログラム内でインスタンスを取得し、そのプロパティとメソッドを直接使用することはできません。そうしないと、プログラムの実行時にエラーが発生します。この場合、Delphi が提供する機能「ActiveX コントロールのインポート」機能を使用する必要があります。操作方法は以下のとおりです。
---- [コンポーネント] メニューで、[ActiveX コントロールのインポート] 機能を呼び出し、登録されたコントロールのリストで [Microsoft Internet Controls (Version1.1)] を選択します。下のプロンプト バーに表示されるパスは C:PWin98SystemSHDOCVW です。 .DLL では、登録できる 3 つのコントロールがクラス名 (タイプ リスト) にリストされています。 TWebBrowser_V1、TWebBrowser、および TShellFolderViewOC は、それぞれ、IE3 ブラウザ コントロール、IE4 ブラウザ コントロール、および「Microsoft Shell Folder View Router」コントロールです。 「インストール」をクリックしてインストールします。インストールが完了すると、TWebBrowser_V1、TWebBrowser、および TShellFolderViewOC という 3 つのコントロールが「ActiveX」コントロール バーに追加され、Delphi の Imports ディレクトリに、これら 3 つのコントロールのパッケージ化の詳細を含むファイル SHDocVw_TLB.PAS が作成されます。もちろん、コントロールのプロパティとメソッドの説明が含まれており、コントロールを使用する際の参考として使用できます。
----
TWebBrowser (IE4 ブラウザ コントロール) を例に挙げます。 TWebBrowser の共通プロパティとメソッドには主に次のものがあります。 GoBack: メソッド、前のページに戻ります。 GoForward: 次のページに進むメソッド。 GoHome: メソッド。IE オプションで設定されているデフォルトのホームページを呼び出します。 GoSearch: メソッド。IE オプションで設定されているデフォルトの検索ページを呼び出します。 Navigate(const URL: WideString; var Flags, TargetFrameName, PostData, Headers: OleVariant): メソッドは、指定されたページを呼び出します。特定のパラメーターは次のとおりです: URL: 指定されたページの URL。フラグ: Word 型。機能はまだ明確ではありませんが、0 に設定できます。 TargetFrameName: WideString。空の文字列の場合は、現在のフレームで開きます。TargetFrameName で指定されたフレームが存在する場合は、そのフレームで開きます。 TargetFrameName が存在しない場合、新しいウィンドウが開きます。これは、外部 IE ブラウザを呼び出す場合と同じです。 PostData: ブール値、データの送信を許可するかどうか。 Headers: WideString、送信される URL リクエストのヘッダー データ。 Refresh: メソッド、現在のページを更新します。 Stop: 現在のページの呼び出しまたは開くことを停止するメソッド。 LocationName: プロパティ (ワイド文字列)、現在の場所の名前。 LocationURL: プロパティ (ワイド文字列)、現在の場所の URL。 Busy: 属性 (ブール値)、ビジーかどうか。 Visible: プロパティ (ブール値)、ブラウザ ウィンドウが表示されるかどうか。 (以下のプロパティは TWebBrowser の新機能であり、TWebBrowser_V1 では使用できません。その機能を調べる必要があります) StatusBar: ステータス バーを表示するかどうかのプロパティ (ブール値)。 StatusText: プロパティ (ワイド文字列)、ステータス バーのコンテンツ。 ToolBar: プロパティ (SYSINT)、ツールバーのコンテンツ。 MenuBar: メニュー バーを表示するかどうかのプロパティ (ブール値)。 FullScreen: プロパティ (ブール値)、全画面で表示するかどうか。 Offline: オフラインで閲覧するかどうかのプロパティ (ブール値)。 AddressBar: アドレス バーを表示するかどうかのプロパティ (ブール値)。 TWebBrowser の一般的なイベントは主に次のとおりです。 OnStatusTextChange = object のprocedure(Sender: TObject; const Text: WideString);
---- ステータス バー プロンプト情報が変更されたときに発生します。パラメータ Text は、現在のステータス バー プロンプト情報を更新したり、この情報に基づいて他のトランザクションを処理したりできます。
----OnProgressChange = オブジェクトの手続き(Sender: TObject; Progress, ProgressMax: Integer);
---- 開いているページの進行状況が変化すると発生します。Progress パラメータは現在の進行状況で、ProgressMax はこれら 2 つのパラメータに基づいて独自のステータス バー プロンプト情報を更新したり、他のトランザクションを処理したりできます。
----OnCommandStateChange = オブジェクトのプロシージャ(送信者: TObject; コマンド: 整数; 有効: WordBool);
---- 新しいコマンドが実行されるときに発生します。 Command はコマンド識別子、Enable はコマンドの実行が許可されるかどうかです。 OnTitleChange = オブジェクトの手続き(Sender: TObject; const Text: WideString);
---- ページのタイトルが変更されるときに発生します。テキストは現在のタイトルです。
----OnPropertyChange = オブジェクトの手続き(Sender: TObject; const Property_: WideString);
---- ページのプロパティが変更されたときに発生します。Property_ はプロパティ名 OnDownloadComplete: TNotifyEvent
---- ダウンロードページが完了した後に発生します。
----ダウンロード開始時: TNotifyEvent
---- ダウンロード ページが開始される前に発生します。
----- (1) 独自のヘルプシステムを作成する
---- IE ブラウザ コントロールを使用して、ユーザー用のヘルプ システムを作成します。ヘルプ ファイルは、1 つの HTML ファイル (Topic.HTM) に対応し、各トピックの下にある項目に対応します。 HTML ファイル (#Item)。このようにして、私たちのシステムでは、ユーザーにヘルプを提供するために IE ブラウザーや WinHelp プログラムを呼び出す必要がなくなりました。従来の HLP ヘルプ ファイルと比較した HTML ヘルプ ファイルの利点は皆さんもご存じだと思います。
---- 次の例では、TWebBrowser (IE4 ブラウザ コントロール) の Navigate メソッドの使用を示します。番組内のコメントにもご注目ください。 (以下はプログラムの主な抜粋です)。
{トピックやプロジェクトに応じたヘルプファイルの呼び出し}procedure ShowHelp(HelpTopic,HelpItem:String);var TargetFrameName,PostData,Heads,Flags:OleVariant;URL:widestring;begin TargetFrameName:= ';{空文字列を指定した場合Frame、現在のフレームでヘルプ ファイルを開きます} PostData := false;{データを送信しない} Heads := ';{ヘッダー情報は空です} Flags := 0;{フラグは 0 に設定されています} URL := HelpTopic + '.HTM#'+HelpItem;{ヘルプ情報の URL} with formHelp.webbrowser do{ヘルプ ウィンドウの IE ブラウザ コントロールにヘルプ情報を表示} begin navigate( URL,Flags,TargetFrameName,PostData,Heads);{ヘルプ情報を表示} end;end;
---- (2) GIFアニメーションを表示する
---- 適切なアニメーション表示コントロールがない場合は、次の方法を試してみるとよいでしょう。
プロシージャ ShowGIF( GIFFileName : String );var TargetFrameName,PostData,Heads,Flags : OleVariant; URL : Widestring;begin TargetFrameName := ';{Frame の空の文字列を指定すると、アニメーション ファイルは現在の Frame で開きます} PostData := false;{データを送信しない} Heads := ';{ヘッダー情報が空です} Flags := 0;{フラグは 0 に設定されます} URL := GIFFileName; formGIF.webbrowser do{指定したウィンドウの IE ブラウザ コントロールにアニメーションを表示} begin navigate(URL,Flags,TargetFrameName,PostData,Heads);{アニメーション ファイルを表示} end;end;
----上記のプログラムは PWIN98+Delphi3.0 でデバッグされています。