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值,则当鼠标首次进入对象时,该对象将激活一次,并且保持活动状态。

调用方备注

不应缓存激活策略。 每次鼠标进入非活动对象时,容器都应调用此方法。

要求

要求
最低受支持的客户端 Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 ocidl.h

另请参阅

IOleInPlaceSiteWindowless

IPointerInactive