控件的鍵盤處理
控件會回應鍵盤快捷方式,讓使用者可以起始控件所執行的動作。 容器會管理其所有內嵌控件的鍵盤活動。 使用複合檔時,鍵盤快捷方式只適用於目前使用中的物件。 使用控件時,已新增一個機制,讓控件可以回應其鍵盤助記鍵,即使它目前不是UI作用中也一樣。
IOleControl::GetControlInfo 和 IOleControl::OnMnemonic 方法和 IOleControlSite::OnControlInfoChanged 方法會處理控件的鍵盤助記鍵。 CONTROLINFO 結構描述控件的助記鍵,以及透過 GetControlInfo 方法傳回的旗標描述具有 Enter 和 Esc 鍵的控件行為。 當控件變更其助記鍵時,它會呼叫 OnControlInfoChanged ,以便容器在必要時重載結構。
當控件為UI使用中時,它也是具有焦點的控件。 當控件在就地作用中狀態與UI作用中狀態之間啟動和停用時,控件會呼叫 IOleControlSite::OnFocus 來告知容器這類變更。
此外,當控件為UI使用中時,第一次有機會處理任何擊鍵。 為了讓容器有機會在控件之前處理按鍵,控件會呼叫 IOleControlSite::TranslateAccelerator。 如果容器未處理擊鍵,控件就會處理它。
相關主題