我想讓我的wxWidgets應用程序中的菜單欄可切換,例如Firefox和Windows資源管理器正在這樣做。這意味着當它隱藏時,按下顯示的ALT鍵。這是相對容易的:我在成員變量m_pMenuBar
中創建時保存菜單,並在時啓用菜單wxFrame::SetMenuBar(m_pMenuBar)
並捕獲wxEVT_CHAR_HOOK
。wxWidgets中的可切換菜單欄(何時隱藏?)
但現在我想知道什麼時候再次禁用菜單。我知道禁用可以用wxFrame::SetMenuBar(nullptr)
完成。很明顯,當在相應的wxEVT_MENU
事件中單擊菜單項時。但是在支持這種可切換菜單的程序中,當您按下某個鍵(不是快捷鍵)或點擊屏幕某處(並且不要點擊菜單)時,菜單也會隱藏起來。感覺就像菜單「失去了焦點和消失」。由於我已經在拍攝wxEVT_CHAR_HOOK
,所以隱藏在按鍵上將是可能的。鼠標的東西比較複雜。我嘗試了一個計時器來檢查鼠標按鈕是否被按下,但這看起來相當難看,並且在您選擇子菜單時不起作用。
所以我的問題是:什麼時候應該隱藏菜單?
非常感謝! jffmichi