IPointerInactive::GetActivationPolicy メソッド (ocidl.h)
オブジェクトの現在のアクティブ化ポリシーを取得します。 このメソッドは、非アクティブなオブジェクトがマウス ポインターの下にある場合に、WM_SETCURSORまたはWM_MOUSEMOVE メッセージを受信したときにコンテナーによって呼び出されます。
構文
HRESULT GetActivationPolicy(
[out] DWORD *pdwPolicy
);
パラメーター
[out] pdwPolicy
アクティブ化ポリシーを受け取る変数へのポインター。 可能な値は、 POINTERINACTIVE 列挙体から取得されます。
戻り値
メソッドが成功した場合、戻り値はS_OK。 それ以外の場合は、E_FAIL。
注釈
オブジェクトは、POINTERINACTIVE_ACTIVATEONENTRY値をマウスで入力するとすぐにインプレース アクティブ化を要求できます。 単にマウス ポインターを設定するよりも視覚的なフィードバックを提供する オブジェクトでは、この値が使用されます。 たとえば、オブジェクトが特別な視覚的フィードバックをサポートしている場合は、サポートされている視覚的フィードバックを描画できるように、アクティブな状態に入る必要があります。
オブジェクトは、このメソッドを使用して、POINTERINACTIVE_ACTIVATEONDRAGをドラッグ アンド ドロップ操作中にマウスをドラッグアンド ドロップしたときにアクティブ化を要求することもできます。
オブジェクトがこれらの値のいずれかを返す場合、コンテナーはオブジェクトを直ちにアクティブ化し、呼び出しをトリガーした Window メッセージを転送する必要があります。 その後、オブジェクトはアクティブなままで、コンテナーが別のWM_SETCURSORまたはWM_MOUSEMOVEを取得するまで、それ自体のウィンドウで後続のメッセージを処理します。 この時点で、コンテナーは オブジェクトを非アクティブ化する必要があります。
ウィンドウレス OLE オブジェクトの場合、このメカニズムは若干異なります。 ウィンドウレス オブジェクトのドラッグ アンド ドロップ操作の詳細については、「 IOleInPlaceSiteWindowless 」を参照してください。
オブジェクトがPOINTERINACTIVE_ACTIVATEONENTRY値とPOINTERINACTIVE_DEACTIVATEONLEAVE値の両方を返す場合、オブジェクトはマウスがオブジェクトの上にある場合にのみアクティブになります。 POINTERINACTIVE_ACTIVATEONENTRY値のみが設定されている場合、オブジェクトはマウスで最初に入力したときに 1 回アクティブになり、アクティブなままになります。
呼び出し元へのメモ
アクティブ化ポリシーをキャッシュしないでください。 コンテナーは、マウスが非アクティブなオブジェクトに入るたびに、このメソッドを呼び出す必要があります。要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | ocidl.h |