IAxWinHostWindow インターフェイス
このインターフェイスでは、コントロールとそのホスト オブジェクトを操作するためのメソッドが提供されます。
重要
このクラスとそのメンバーは、Windows ランタイムで実行するアプリケーションで使用することはできません。
構文
interface IAxWinHostWindow : IUnknown
メンバー
メソッド
Name | 説明 |
---|---|
AttachControl | 既存のコントロールをホスト オブジェクトにアタッチします。 |
CreateControl | コントロールを作成し、ホスト オブジェクトにアタッチします。 |
CreateControlEx | コントロールを作成し、ホスト オブジェクトにアタッチして、必要に応じてイベント ハンドラーを設定します。 |
QueryControl | ホストされたコントロールへのインターフェイス ポインターを返します。 |
SetExternalDispatch | 外部 IDispatch インターフェイスを設定します。 |
SetExternalUIHandler | 外部 IDocHostUIHandlerDispatch インターフェイスを設定します。 |
解説
このインターフェイスは、ATL の ActiveX コントロールのホスティング オブジェクトによって公開されます。 このインターフェイスでメソッドを呼び出して、ホスト オブジェクトに対してコントロールを作成またはアタッチしたり、ホストされたコントロールからインターフェイスを取得したり、Web ブラウザーをホストするときに使用する外部ディスパッチ インターフェイスまたは UI ハンドラーを設定したりします。
要件
以下に示すように、このインターフェイスの定義は、IDL または C++ として使用できます。
定義の種類 | ファイル |
---|---|
IDL | ATLIFace.idl |
C++ | ATLIFace.h (ATLBase.h にも含まれます) |
IAxWinHostWindow::AttachControl
hWnd により識別されるウィンドウを使用して、既存の (かつ以前に初期化されている) コントロールをホスト オブジェクトにアタッチします。
STDMETHOD(AttachControl)(IUnknown* pUnkControl, HWND hWnd);
パラメーター
pUnkControl
[入力] ホスト オブジェクトにアタッチされるコントロールの IUnknown
インターフェイスへのポインター。
hWnd
[入力] ホスティングに使用されるウィンドウへのハンドル。
戻り値
標準の HRESULT 値。
IAxWinHostWindow::CreateControl
コントロールを作成して初期化し、hWnd によって識別されるウィンドウでホストします。
STDMETHOD(CreateControl)(
LPCOLESTR lpTricsData,
HWND hWnd,
IStream* pStream);
パラメーター
lpTricsData
[入力] 作成するコントロールを識別する文字列。 CLSID (中かっこを含める必要がある)、ProgID、URL、または未加工の HTML (MSHTML: のプレフィックス付き) にすることができます。
hWnd
[入力] ホスティングに使用されるウィンドウへのハンドル。
pStream
[入力] コントロールの初期化データを含むストリームのインターフェイス ポインター。 NULL にすることができます。
戻り値
標準の HRESULT 値。
解説
このウィンドウは、このインターフェイスを公開するホスト オブジェクトによってサブクラス化されるため、メッセージをコントロールに反映でき、その他のコンテナー機能が動作するようになります。
このメソッドを呼び出すことは、IAxWinHostWindow::CreateControlEx を呼び出すことと同じです。
ライセンスされた ActiveX コントロールを作成する場合は、「IAxWinHostWindowLic::CreateControlLic」を参照してください。
IAxWinHostWindow::CreateControlEx
ActiveX コントロールを作成して初期化し、指定されたウィンドウでホストします。これは、IAxWinHostWindow::CreateControl と似ています。
STDMETHOD(CreateControlEx)(
LPCOLESTR lpszTricsData,
HWND hWnd,
IStream* pStream,
IUnknown** ppUnk,
REFIID riidAdvise,
IUnknown* punkAdvise);
パラメーター
lpTricsData
[入力] 作成するコントロールを識別する文字列。 CLSID (中かっこを含める必要がある)、ProgID、URL、または未加工の HTML (MSHTML: のプレフィックス付き) にすることができます。
hWnd
[入力] ホスティングに使用されるウィンドウへのハンドル。
pStream
[入力] コントロールの初期化データを含むストリームのインターフェイス ポインター。 NULL にすることができます。
ppUnk
[出力] 作成されたコントロールの IUnknown
インターフェイスを受け取るポインターのアドレス。 NULL にすることができます。
riidAdvise
[入力] 含まれるオブジェクトの発信インターフェイスのインターフェイス識別子。 IID_NULL にすることができます。
punkAdvise
[入力] iidSink
で指定された含まれるオブジェクトの接続ポイントに接続されるシンク オブジェクトの IUnknown
インターフェイスへのポインター。
戻り値
標準の HRESULT 値。
解説
CreateControl
メソッドとは異なり、CreateControlEx
の場合も新しく作成されたコントロールへのインターフェイス ポインターを受け取り、コントロールによって発生するイベントを受け取るようにイベント シンクを設定することができます。
ライセンスされた ActiveX コントロールを作成する場合は、「IAxWinHostWindowLic::CreateControlLicEx」を参照してください。
IAxWinHostWindow::QueryControl
ホストされたコントロールによって提供される指定されたインターフェイス ポインターを返します。
STDMETHOD(QueryControl)(
REFIID riid,
void** ppvObject);
パラメーター
riid
[入力] 要求されているコントロールのインターフェイスの ID。
ppvObject
[出力] 作成されたコントロールの指定されたインターフェイスを受け取るポインターのアドレス。
戻り値
標準の HRESULT 値。
IAxWinHostWindow::SetExternalDispatch
IDocHostUIHandlerDispatch::GetExternal メソッドを使用して含まれているコントロールで使用できる外部のディスパッチ インターフェイスを設定します。
STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);
パラメーター
pDisp
[入力] IDispatch
インターフェイスへのポインター。
戻り値
標準の HRESULT 値。
IAxWinHostWindow::SetExternalUIHandler
CAxWindow
オブジェクトの外部 IDocHostUIHandlerDispatch インターフェイスを設定するには、この関数を呼び出します。
STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);
パラメーター
pDisp
[入力] IDocHostUIHandlerDispatch
インターフェイスへのポインター。
戻り値
標準の HRESULT 値。
解説
この関数は、IDocHostUIHandlerDispatch
インターフェイスについてホストのサイトにクエリを実行するコントロール (Web ブラウザー コントロールなど) によって使用されます。
関連項目
IAxWinAmbientDispatch インターフェイス
CAxWindow::QueryHost
AtlAxGetHost