DHTML コントロールは、テスト コンテナーや Internet Explorer などのコンテナーでホストできます。 テスト コンテナーへのアクセス方法については、「テスト コンテナーでのプロパティとイベントのテスト」を参照してください。
コントロールをホストするコンテナーは、通常のコントロール インターフェイスを使用してコントロールと通信します。 DHTML は、末尾が "UI" のディスパッチ インターフェイスを使用して、C++ コードおよび HTML リソースと通信します。 「ATL DHTML コントロールの変更」で、これらの各インターフェイスによって呼び出されるメソッドの追加方法を説明しています。
DHTML からの C++ コードの呼び出し例については、ATL コントロール ウィザードを使用して DHTML コントロールを作成し、ヘッダー ファイルと HTML ファイルのコードを調べてください。
ヘッダー ファイルでの WebBrowser メソッドの宣言
DHTML UI から C++ メソッドを呼び出すには、コントロールの UI インターフェイスにメソッドを追加する必要があります。 たとえば、ATL コントロール ウィザードによって作成されるヘッダー ファイルには、OnClick という C++ メソッドが含まれています。このメソッドは、ウィザードが生成するコントロールの UI インターフェイスのメンバーです。
コントロールの .h ファイルの OnClick を調べてみます。
STDMETHOD(OnClick)(IDispatch* pdispBody, VARIANT varColor)
最初のパラメーター pdispBody は、本体オブジェクトのディスパッチ インターフェイスへのポインターです。 2 番目のパラメーター varColor は、コントロールに適用する色を指定します。
HTML ファイルからの C++ コードの呼び出し
ヘッダー ファイルで WebBrowser メソッドを宣言したら、HTML ファイルからメソッドを呼び出すことができます。 HTML ファイルで 3 つのウィンドウ ディスパッチ メソッドを ATL コントロール ウィザードに挿入されます。3OnClickコントロールの背景色を変更するにはメッセージをディスパッチする方法。
HTML ファイルの 1 つのメソッドを調べてみます。
<BUTTON onclick='window.external.OnClick(theBody, "red");'>Red</BUTTON>
この HTML コードでは、ボタン タグの一部として、ウィンドウ外部メソッド OnClick が呼び出されます。 このメソッドは、2 つのパラメーターをが。theBody、HTML ドキュメントの本文を参照と"red"、ボタンをクリックすると、コントロールの背景色赤に変更されることを示します。 タグの後の Red は、ボタンのラベルです。
メソッドを自分で変更する方法については、「ATL DHTML コントロールの変更」を参照してください。 HTML ファイルの詳細については、「DHTML コントロール プロジェクトの要素の識別」を参照してください。