IShellView::UIActivate 方法 (shobjidl_core.h)
當檢視視窗的啟用狀態由Shell檢視本身所造成的事件變更時呼叫。 例如,如果當樹狀結構具有焦點時按下 TAB 鍵,則檢視應提供焦點。
語法
HRESULT UIActivate(
UINT uState
);
參數
uState
類型: UINT
指定視窗啟用狀態的旗標。 此參數可以是下列其中一個值。
SVUIA_ACTIVATE_FOCUS
Windows 檔案總管剛建立具有輸入焦點的檢視視窗。 這表示殼層檢視應該能夠設定適合焦點狀態的功能表項。
SVUIA_ACTIVATE_NOFOCUS
Shell 檢視遺失輸入焦點,或剛建立而沒有輸入焦點。 Shell 檢視應該能夠設定適合非焦點狀態的功能表項。 這表示不應該新增任何選取特定專案。
SVUIA_DEACTIVATE
Windows 檔案總管即將終結殼層檢視視窗。 Shell 檢視應該移除所有擴充的用戶介面。 這些通常是合併的功能表和合併的無模式彈出視窗。
SVUIA_INPLACEACTIVATE
Shell 檢視處於作用中狀態,沒有焦點。 只有當 UIActivate 透過 IShellView2 介面公開時,才會使用此旗標。
傳回值
類型: HRESULT
如果成功,則傳回 S_OK ,否則傳回 COM 定義的錯誤值。
備註
重新合併功能表項之前,Shell 檢視通常會攔截 WM_SETFOCUS 訊息,並呼叫 OnViewWindowActive 方法。 殼層檢視不應該連結 NM_KILLFOCUS 訊息以重新合併功能表項。
呼叫應用程式的注意事項
呼叫此方法以通知啟用狀態變更的檢視。實作者的注意事項
使用這個方法來追蹤啟用狀態,並視需要變更任何行為。規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows XP [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限傳統型應用程式] |
目標平台 | Windows |
標頭 | shobjidl_core.h (包括 Shobjidl.h) |
Dll | Shell32.dll (4.0 版或更新版本) |