IOleInPlaceSiteWindowless::SetFocus 方法 (ocidl.h)
設定 UI 作用中無視窗物件的鍵盤焦點。
語法
HRESULT SetFocus(
[in] BOOL fFocus
);
參數
[in] fFocus
如果 為 TRUE,請將鍵盤焦點設定為呼叫物件。 如果 為 FALSE,請從呼叫物件中移除鍵盤焦點,前提是物件具有焦點。
傳回值
如果鍵盤焦點已成功提供給 物件,這個方法會傳回S_OK。 如果呼叫這個方法以釋放焦點,則絕不會失敗。 其他可能的傳回值包括下列專案。
傳回碼 | 描述 |
---|---|
|
鍵盤焦點遭到拒絕物件。 |
備註
每當視窗化物件呼叫 SetFocus 函式時,無視窗物件就會呼叫這個方法。 透過此呼叫,無視窗物件會取得鍵盤焦點,並可回應視窗訊息。 一般而言,此呼叫會在 UI 啟用程式期間進行,並在通知方法 IOleInPlaceActiveObject::OnDocWindowActivate 中使用 TRUE 和 IOleInPlaceActiveObject::OnFrameWindowActivate 搭配 TRUE進行。
為了回應此呼叫,容器會將 Windows 焦點設定為用來取得鍵盤訊息的視窗, (通常是容器視窗) ,並將任何後續的鍵盤訊息重新導向至要求焦點的無視窗物件。
無視窗物件也會呼叫 IOleInPlaceSiteWindowless::SetFocus 方法,並將 fFocus 參數設定為 FALSE 以釋放鍵盤焦點,而不需要將它指派給任何其他物件。 在此情況下,容器必須使用Null參數呼叫SetFocus函式,讓沒有任何視窗具有焦點。
需求
最低支援的用戶端 | Windows 2000 專業版 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | ocidl.h |