共用方式為


IPointerInactive::OnInactiveSetCursor 方法 (ocidl.h)

設定非使用中物件的滑鼠指標。 當非使用中對象位於滑鼠指標下時,容器會在收到WM_SETCURSOR方法時呼叫此方法。

語法

HRESULT OnInactiveSetCursor(
  [in] LPCRECT pRectBounds,
  [in] LONG    x,
  [in] LONG    y,
  [in] DWORD   dwMouseMsg,
  [in] BOOL    fSetAlways
);

參數

[in] pRectBounds

在包含視窗的用戶端座標單位中指定的物件周框。 此參數會告知物件在收到WM_SETCURSOR訊息時,畫面上的確切位置和大小。 此值是以用戶端座標系統的單位指定。

[in] x

滑鼠位置的水準座標,以用戶端包含視窗的單位為單位。

[in] y

滑鼠位置的垂直座標,以用戶端包含視窗的單位為單位。

[in] dwMouseMsg

發生WM_SETCURSOR的滑鼠訊息標識碼。

[in] fSetAlways

如果此值為 TRUE,則對象必須設定游標;如果此值為 FALSE,則物件不一定要設定數據指標,而且應該在該情況下傳回S_FALSE。

傳回值

這個方法可以傳回標準傳回值E_FAIL,以及下列值。

傳回碼 描述
S_OK
已成功設定滑鼠指標。
S_FALSE
物件未設定數據指標;容器應該設定游標,或再次呼叫物件,並將 參數 fSetAlways 設定為 TRUE

備註

容器會呼叫此方法,藉由呼叫 IPointerInactive::GetActivationPolicy 方法來檢查對象的啟用原則之後,將滑鼠指標設定在非作用中物件上。 如果物件尚未要求透過該呼叫就地啟動,只要滑鼠指標停留在物件上,容器就會呼叫 OnInactiveSetCursor ,將後續WM_SETCURSOR訊息分派至非作用中物件。

為了避免四捨五入錯誤,並讓對象實作工具上的作業更容易,此方法會採用其包含客戶端窗口單位的視窗座標,也就是顯示對象的視窗,而不是一般的 HIMETRIC 單位。 因此,當物件為使用中和非使用中時,可以使用相同的座標和程式代碼路徑。 視窗座標會指定滑鼠位置。 周框也會在相同的座標系統中指定。

OnInactiveSetCursor 會採用其他參數 fSetAlways,指出物件是否必須設定數據指標。 容器應該先使用此參數 FALSE 呼叫這個方法。 物件可能會傳回S_FALSE,表示它未設定游標。 在此情況下,容器應該設定數據指標本身,如果不想這麼做,請再次呼叫 OnInactiveSetCursor 方法, 並將 fSetAlways 設為 TRUE

規格需求

需求
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限桌面應用程式]
目標平台 Windows
標頭 ocidl.h

另請參閱

IPointerInactive