共用方式為


POINTERINACTIVE 列舉 (ocidl.h)

指出 對象的啟用原則,並用於 IPointerInactive::GetActivationPolicy 方法中。

Syntax

typedef enum tagPOINTERINACTIVE {
  POINTERINACTIVE_ACTIVATEONENTRY = 1,
  POINTERINACTIVE_DEACTIVATEONLEAVE = 2,
  POINTERINACTIVE_ACTIVATEONDRAG = 4
} POINTERINACTIVE;

常數

 
POINTERINACTIVE_ACTIVATEONENTRY
值: 1
當滑鼠在滑鼠移動作業期間輸入物件時,應該就地啟動物件。
POINTERINACTIVE_DEACTIVATEONLEAVE
值: 2
當滑鼠在滑鼠移動作業期間離開物件時,應該停用物件。
POINTERINACTIVE_ACTIVATEONDRAG
值: 4
當滑鼠在拖放作業期間拖曳至該物件時,應該就地啟動物件。

備註

如需使用 POINTERINACTIVE_ACTIVATEONENTRYPOINTERINACTIVE_DEACTIVATEONLEAVE 值的詳細資訊,請參閱 IPointerInactive::GetActivationPolicy 方法。

POINTERINACTIVE_ACTIVATEONDRAG 值可用來支援非使用中物件的拖放作業。 非使用中對象沒有視窗可自行註冊為潛在的置放目標。 大部分的容器都會忽略內嵌的非使用中對象作為置放目標,因為與啟用它們相關聯的額外負荷。

除了在拖放作業期間將滑鼠指標放在物件上方時啟動物件,容器可以先 查詢Interface 來判斷非使用中物件是否支援 IPointerInactive。 然後,如果物件不支援 IPointerInactive,容器可以假設它不是置放目標。 如果對象支援 IPointerInactive,容器會呼叫 IPointerInactive::GetActivationPolicy 方法。 如果 已設定POINTERINACTIVE_ACTIVATEONDRAG 值,容器就會就地啟動物件,讓物件可以註冊自己的 IDropTarget 介面。

當發生所有這些動作時,容器正在處理自己的 IDropTarget::D ragOver 方法。 若要完成該方法,容器會傳回 pdwEffect 參數的DROPEFFECT_NONE。 然後,拖放作業會繼續呼叫容器的 IDropTarget::D ragLeave ,然後呼叫物件的 IDropTarget::D ragEnter

重要 對於無視窗 OLE 物件,此機制稍有不同。 如需無窗口物件的拖放作業的詳細資訊,請參閱I OleInPlaceSiteWindowless
 

如果置放發生在內嵌物件上,物件會啟用UI,且會在焦點再次變更時取得UI停用。 如果物件上未發生卸除,容器應該在下一次呼叫自己的 IDropTarget::D ragEnter 時停用物件。 卸除可能會發生在第三個使用中物件上,而不會呼叫容器的 IDropTarget::D ragEnter。 在此情況下,容器應該會在物件啟用另一個物件時,立即嘗試停用物件。

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 ocidl.h

另請參閱

IDropTarget

IPointerInactive

IPointerInactive::GetActivationPolicy