次の方法で共有


ATL DHTML コントロールの変更

ATL コントロール ウィザードは初期コードを備えています。コントロールをビルドして実行できます。つまり、メソッドがプロジェクト ファイルに書き込む方法と、ディスパッチまたはメソッドを使用して、コントロールの C++ コードへの呼び出しに DHTML 確認できます。ディスパッチ インターフェイスにメソッドを追加できます。次に、HTML リソースのメソッドを呼び出します。

ATL DHTML コントロールを変更するには

  1. クラス ビューで、コントロール プロジェクトを配置します。

    に「UI に」持つ OnClickを 1 とおりの方法でインターフェイス注意してください。UI 「」で終わるインターフェイスには、メソッドはありません。

  2. MethodInvokedと呼ばれる「UI 内で」終了インターフェイスにメソッドを追加します。

    このメソッドはコンテナーの対話にコントロール コンテナーで使用されるコントロールと対話するために DHTML で使用しているインターフェイスへのインターフェイスではなくに追加されます。コンテナーだけこのメソッドを呼び出すことができます。

  3. .cpp ファイルのスタブ メソッドを検索し、メッセージ ボックスを表示するコードを追加します (例:

    ::MessageBox(NULL, _T("I'm invoked"), _T("Your Container Message"), MB_OK);
    
  4. 今度はだけで「UI 内で」終了、インターフェイスに追加します HelloHTMLと呼ばれる別のメソッドを追加します。.cpp ファイルの HelloHTML のスタブ メソッドを検索し、メッセージ ボックスを表示するコードを追加します (例:

    ::MessageBox(NULL, _T("Here's your message"), _T("HelloHTML"), MB_OK);
    
  5. 「UI 内で」終了インターフェイスに 3 番目のメソッド、GoToURLを追加します。IWebBrowser2::Navigateを呼び出してこのメソッドを実装して、次のように、:

    m_spBrowser->Navigate(CComBSTR(L"www.microsoft.com"), NULL, NULL, NULL, NULL);
    

    ATL は、の .h ファイルでそのインターフェイスへのポインターを提供するため IWebBrowser2 のメソッドを使用できます。

次に、作成したメソッドを呼び出すに HTML リソースを変更します。これらのメソッドを呼び出すには、次の 3 種類のボタンを追加します。

HTML リソースを変更するには

  1. ソリューション エクスプローラーで、HTML リソースを表示するには、.htm ファイルをダブルクリックします。

    HTML、外部 Windows のディスパッチ特にメソッドへの呼び出しを確認します。HTML は、プロジェクトの OnClick のメソッドを呼び出し、パラメーターは割り当て ("red") にコントロール (theBody) および色の本体を示します。メソッドの呼び出し後のテキストは、ボタンに表示されるラベルです。

  2. OnClick の別のメソッドを変更、色追加します。以下はその例です。

    <br>
    <br>
    <BUTTON onclick='window.external.OnClick(theBody, "white");'>Refresh</BUTTON>
    

    このメソッドは、元、白い背景にコントロールを返すため、ユーザーがクリックできる **[最新の情報に更新]**というラベルのボタンを作成します。

  3. 作成した HelloHTML のメソッドの呼び出しを追加します。以下はその例です。

    <br>
    <br>
    <BUTTON onclick='window.external.HelloHTML();'>HelloHTML</BUTTON>
    

    このメソッドは HelloHTML のメッセージ ボックスを表示するユーザーがクリックできる HelloHTMLというラベルのボタンを作成します。

変更された DHTML コントロールをテストします。ビルドするようになりました。

参照

その他の技術情報

DHTML コントロールに対する ATL のサポート