檢視原始碼 wxMenuEvent (wx v2.4.3)

此類別用於各種選單相關事件。

請注意,這些不包含選單命令事件,後者是使用 wxCommandEvent 物件處理的。

此類別的事件是由屬於 wxMenuBar 的選單、附加到 wxFrame 的選單,以及由 wxWindow:popupMenu/4 顯示的快顯選單所產生。它們會被傳送到下列物件,直到其中一個處理該事件:-# 選單物件本身,由 GetMenu() 傳回(如果有的話)。-# 此選單附加到的 wxMenuBar(如果有的話)。-# 與選單相關聯的視窗,例如針對快顯選單呼叫 PopupMenu() 的視窗。-# 該視窗的頂層父視窗(如果與視窗本身不同)。 這與選單項目產生的命令事件類似,但與它們不同的是,wxMenuEvent 只會被傳送到視窗本身及其頂層父視窗,而不會傳送到階層結構中的任何中間視窗。

wxFramewxEVT_MENU_HIGHLIGHT 的預設處理器會在狀態列中顯示說明文字,請參閱 wxFrame:setStatusBarPane/2

請參閱

此類別繼承自下列類別,並可使用其函式:

wxWidgets 文件:wxMenuEvent

事件

使用 wxEvtHandler:connect/3wxMenuEventType 來訂閱此類型的事件。

摘要

函式

傳回正在開啟或關閉的選單,或包含醒目提示項目的選單。

傳回與事件相關聯的選單識別碼。

如果正在開啟或關閉的選單是快顯選單,則傳回 true,如果是正常選單,則傳回 false。

類型

-type wxMenu() ::
          #wxMenu{type :: wxMenuEvent:wxMenuEventType(), menuId :: integer(), menu :: wxMenu:wxMenu()}.
-type wxMenuEvent() :: wx:wx_object().
-type wxMenuEventType() :: menu_open | menu_close | menu_highlight.

函式

-spec getMenu(This) -> wxMenu:wxMenu() when This :: wxMenuEvent().

傳回正在開啟或關閉的選單,或包含醒目提示項目的選單。

請注意,如果正在開啟的選單沒有對應的 wxMenu,則傳回值可能為 NULL,例如,在 wxMSW 連接埠中開啟系統選單時會發生這種情況。

備註:自 3.1.3 版本起,此函式可用於 OPENCLOSEHIGHLIGHT 事件。在 3.1.3 之前的版本中,此方法只能用於 OPENCLOSE 事件。

-spec getMenuId(This) -> integer() when This :: wxMenuEvent().

傳回與事件相關聯的選單識別碼。

此方法應僅用於 HIGHLIGHT 事件。

-spec isPopup(This) -> boolean() when This :: wxMenuEvent().

如果正在開啟或關閉的選單是快顯選單,則傳回 true,如果是正常選單,則傳回 false。

此方法應僅用於 OPENCLOSE 事件。