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