Vcl.HtmlHelpViewer
Windows HTMLHelp 関数 API のラッパーが実装されています。
パッケージ | vcl240.bpl |
---|
クラス
IHtmlHelpTester |
このインターフェイスのメソッドを使用して、Windows HTMLHelp ヘルプ API 関数への要求に使用できる、ヘルプ ファイルやキーワード リスト、ALink、コンテキスト ID、ヘルプ トピックを保守し分析することができます。 |
型
_di_IHtmlHelpTester |
_di_IHtmlHelpTester は、C++ で宣言されている DelphiInterface 型で、Delphi の IHtmlHelpTester インターフェイスに対応するものです。 |
変数
HtmlHelpTester |
HtmlHelpTester 変数には、作成された IHtmlHelpTester 型のオブジェクトが格納されます。 |
ViewerName |
ViewerName 変数には、登録ビューアの中からこのビューアを特定するためにヘルプ マネージャが使用できる文字列が格納されます。 |
説明
HtmlHelpViewer ユニットには、Windows HTMLHelp 関数 API のラッパーを提供する外部ヘルプ ビューアが実装されています。このユニットの設計目的は、VCL ヘルプ マネージャが判断できる範囲で、他の外部ヘルプ ビューアと見分けがつかなくすることです。したがって、System.HelpIntfs ユニットに実装されているヘルプ システムで使用される HTMLHelp API の機能をラップしているだけです。
HtmlHelpViewer では、implementation セクションで宣言されている private クラス THtmlHelpViewer に HTMLHelp API 機能がラップされています。THtmlHelpViewer クラスでは、System.HelpIntfs ユニットで宣言されているヘルプ インターフェイスを実装しています。System.HelpIntfs には一連のインターフェイスが用意されており、これらを通じて、ヘルプ システムはアプリケーションにおけるヘルプ要求と HTMLHelp などの外部ヘルプ ビューアの間でやり取りすることができます。
他のユニットから private クラス THtmlHelpViewer のメソッドにアクセスするために、このユニットの initialization セクションでは、このクラスの HelpViewer オブジェクトを作成し、グローバル関数 System.HelpIntfs.RegisterViewer を呼び出してヘルプ ビューアを登録しています。System.HelpIntfs ユニットに含まれているグローバル関数 System.HelpIntfs.GetHelpSystem を使用すれば、登録した HelpViewer のヘルプ システム オブジェクトを取得できます。その結果、他のユニットのコードで、取得したヘルプ システム オブジェクトのメソッドにアクセスできます。
アプリケーションで HTMLHelp ヘルプ ビューアを使用するには、アプリケーションのメイン ユニット(または別の適切なユニット)の uses セクションに HtmlHelpViewer ユニットを含めます。
initialization
セクション
HtmlHelpViewer ユニットの initialization セクションでは、次のような初期化を行っています。
HelpViewer := THtmlHelpViewer.Create; HelpIntfs.RegisterViewer(HelpViewerIntf, HelpViewer.FHelpManager);
ここで行われていることは以下のとおりです。
- 1 行目の THtmlHelpViewer.Create コンストラクタでは、THtmlHelpViewer クラスのヘルプ ビューア オブジェクト
HelpViewerIntf
を内部的に作成し、それを HelpViewer 変数に格納しています。 - 2 行目では、グローバル関数 System.HelpIntfs.RegisterViewer を呼び出して、作成したヘルプ ビューアを登録しています。
グローバル関数 System.HelpIntfs.GetHelpSystem を他のユニットから呼び出して、登録されたヘルプ ビューアのヘルプ システムのメソッド群にアクセスすることができます。