ATL コントロール ホスト API とは何ですか?

ATL のコントロール ホスト API は、ウィンドウを ActiveX コントロール コンテナーとして使用できるようにする、関数のセットです。 これらの関数は、ソース コードとして使用でき、ATL90.dll によって公開されるため、プロジェクトに静的または動的にリンクできます。 これらのコントロール ホスト関数を次の表に示します。

機能

説明

AtlAxAttachControl

ホスト オブジェクトを作成して指定されたウィンドウに接続し、既存のコントロールをアタッチします。

AtlAxCreateControl

ホスト オブジェクトを作成して指定されたウィンドウに接続し、コントロールを読み込みます。

AtlAxCreateControlLic

ライセンス ActiveX コントロールを作成して初期化し、指定されたウィンドウでホストします。AtlAxCreateControl に似た関数です。

AtlAxCreateControlEx

ホスト オブジェクトを作成して指定されたウィンドウに接続し、コントロールを読み込みます (イベント シンクのセットアップも可能です)。

AtlAxCreateControlLicEx

ライセンス ActiveX コントロールを作成して初期化し、指定されたウィンドウでホストします。AtlAxCreateControlLic に似た関数です。

AtlAxCreateDialog

ダイアログ リソースからモードレス ダイアログ ボックスを作成し、ウィンドウ ハンドルを返します。

AtlAxDialogBox

ダイアログ リソースからモーダル ダイアログ ボックスを作成します。

AtlAxGetControl

ウィンドウでホストされるコントロールの IUnknown インターフェイス ポインターを返します。

AtlAxGetHost

ウィンドウに接続されたホスト オブジェクトの IUnknown インターフェイス ポインターを返します。

AtlAxWinInit

コントロール ホスト コードを初期化します。

AtlAxWinTerm

コントロール ホスト コードを初期化前の状態に戻します。

最初の 3 つの関数の HWND パラメーターは、既存のウィンドウであることが必要です。ほとんどの種類のウィンドウを指定できます。 これらの 3 つの関数のいずれかを明示的に呼び出す場合は (通常、その必要はありません)、既にホストとして使用しているウィンドウにハンドルを渡さないでください。渡した場合、既存のホスト オブジェクトが解放されません。

最初の 7 つの関数は、暗黙的に AtlAxWinInit を呼び出します。

注意

コントロール ホスト API は、ActiveX コントロール コンテインメントに対する ATL のサポートの基礎となります。 ただし、ATL のラッパー クラスを十分に活用すると、これらの関数を呼び出す必要はほとんどありません。 詳細については、「どの ATL クラスを使用すると ActiveX コントロール コンテインメントに役立ちますか?」を参照してください。

参照

概念

ATL コントロール コンテインメント : Q & A 集