共用方式為


IOleInPlaceSiteWindowless::SetFocus 方法 (ocidl.h)

設定 UI 作用中無視窗物件的鍵盤焦點。

語法

HRESULT SetFocus(
  [in] BOOL fFocus
);

參數

[in] fFocus

如果 為 TRUE,請將鍵盤焦點設定為呼叫物件。 如果 為 FALSE,請從呼叫物件中移除鍵盤焦點,前提是物件具有焦點。

傳回值

如果鍵盤焦點已成功提供給 物件,這個方法會傳回S_OK。 如果呼叫這個方法以釋放焦點,則絕不會失敗。 其他可能的傳回值包括下列專案。

傳回碼 描述
S_FALSE
鍵盤焦點遭到拒絕物件。

備註

每當視窗化物件呼叫 SetFocus 函式時,無視窗物件就會呼叫這個方法。 透過此呼叫,無視窗物件會取得鍵盤焦點,並可回應視窗訊息。 一般而言,此呼叫會在 UI 啟用程式期間進行,並在通知方法 IOleInPlaceActiveObject::OnDocWindowActivate 中使用 TRUEIOleInPlaceActiveObject::OnFrameWindowActivate 搭配 TRUE進行。

為了回應此呼叫,容器會將 Windows 焦點設定為用來取得鍵盤訊息的視窗, (通常是容器視窗) ,並將任何後續的鍵盤訊息重新導向至要求焦點的無視窗物件。

無視窗物件也會呼叫 IOleInPlaceSiteWindowless::SetFocus 方法,並將 fFocus 參數設定為 FALSE 以釋放鍵盤焦點,而不需要將它指派給任何其他物件。 在此情況下,容器必須使用Null參數呼叫SetFocus函式,讓沒有任何視窗具有焦點。

需求

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

另請參閱

IOleInPlaceActiveObject

IOleInPlaceSiteWindowless