檢視原始碼 wxMenuBar (wx v2.4.3)
選單列是一系列可從框架頂端存取的選單。
備註:要回應選單選擇,請在包含選單列的框架中提供 EVT_MENU 的處理常式。
如果您有一個工具列使用與您的 EVT_MENU 項目相同的識別符,則來自工具列的事件也將由您的 EVT_MENU 事件處理常式處理。
提示:在 Windows 下,如果您發現選單快捷鍵(例如,Alt-F 顯示檔案選單)無法運作,請檢查您在子視窗中處理的任何 EVT_CHAR 事件。如果您沒有對您在這些事件處理常式中不處理的事件呼叫 event.Skip(),選單快捷鍵可能會停止運作。
請參閱
此類別繼承自,並且可以使用以下類別的功能:
wxWidgets 文件:wxMenuBar
摘要
函式
將項目新增到選單列的末尾。
勾選或取消勾選選單項目。
銷毀物件
啟用或停用(灰顯)選單項目。
啟用或停用整個選單。
尋找與給定選單項目識別符相關聯的選單項目物件。
傳回具有給定 title
的選單索引,如果此選單列中不存在此選單,則傳回 wxNOT\_FOUND
。
尋找選單名稱/選單項目字串對應的選單項目 ID。
取得與選單項目識別符相關聯的說明字串。
取得與選單項目相關聯的標籤。
傳回 menuIndex
(從零開始) 的選單。
傳回此選單列中的選單數量。
傳回頂層選單的標籤。
傳回頂層選單的標籤。
將選單插入選單列的給定位置。
判斷項目是否被勾選。
判斷項目是否已啟用。
讓您可以在 Mac 上取得全域選單列,也就是當應用程式在沒有開啟任何框架的情況下執行時所顯示的選單列。
讓您可以在 Mac 上設定全域選單列,也就是當應用程式在沒有開啟任何框架的情況下執行時所顯示的選單列。
建構一個空的選單列。
傳回 Apple 選單。
從選單列中移除選單並傳回選單物件 - 呼叫者負責刪除它。
將給定位置的選單替換為另一個選單。
設定與選單項目相關聯的說明字串。
設定選單項目的標籤。
設定頂層選單的標籤。
類型
-type wxMenuBar() :: wx:wx_object().
函式
-spec append(This, Menu, Title) -> boolean() when This :: wxMenuBar(), Menu :: wxMenu:wxMenu(), Title :: unicode:chardata().
將項目新增到選單列的末尾。
傳回值:成功時為 true,發生錯誤時為 false。
請參閱:insert/4
勾選或取消勾選選單項目。
備註:僅當選單列已與框架相關聯時才使用此方法;否則,請使用 wxMenu
對等的呼叫。
-spec destroy(This :: wxMenuBar()) -> ok.
銷毀物件
-spec enable(This, Id, Enable) -> ok when This :: wxMenuBar(), Id :: integer(), Enable :: boolean().
啟用或停用(灰顯)選單項目。
備註:僅當選單列已與框架相關聯時才使用此方法;否則,請使用 wxMenu
對等的呼叫。
-spec enableTop(This, Pos, Enable) -> ok when This :: wxMenuBar(), Pos :: integer(), Enable :: boolean().
啟用或停用整個選單。
備註:僅當選單列已與框架相關聯時才使用此方法。
-spec findItem(This, Id) -> wxMenuItem:wxMenuItem() when This :: wxMenuBar(), Id :: integer().
尋找與給定選單項目識別符相關聯的選單項目物件。
傳回值:找到的選單項目物件,如果找不到則傳回 NULL。
-spec findMenu(This, Title) -> integer() when This :: wxMenuBar(), Title :: unicode:chardata().
傳回具有給定 title
的選單索引,如果此選單列中不存在此選單,則傳回 wxNOT\_FOUND
。
title
參數可以指定選單標題(帶有快捷鍵字元,即 "&檔案"
)或僅指定選單標籤("檔案"
),兩者皆可。
-spec findMenuItem(This, MenuString, ItemString) -> integer() when This :: wxMenuBar(), MenuString :: unicode:chardata(), ItemString :: unicode:chardata().
尋找選單名稱/選單項目字串對應的選單項目 ID。
傳回值:選單項目識別符,如果找不到則傳回 wxNOT_FOUND。
備註:在匹配之前,任何特殊選單程式碼都會從來源和目標字串中剝離。
-spec getAutoWindowMenu() -> boolean().
-spec getHelpString(This, Id) -> unicode:charlist() when This :: wxMenuBar(), Id :: integer().
取得與選單項目識別符相關聯的說明字串。
傳回值:說明字串,如果沒有說明字串或找不到選單項目,則傳回空字串。
請參閱:setHelpString/3
-spec getLabel(This, Id) -> unicode:charlist() when This :: wxMenuBar(), Id :: integer().
取得與選單項目相關聯的標籤。
傳回值:選單項目標籤,如果找不到該項目則傳回空字串。
備註:僅在選單列已與框架相關聯後才使用。
-spec getLabelTop(This, Pos) -> unicode:charlist() when This :: wxMenuBar(), Pos :: integer().
等同於:getMenuLabel/2
-spec getMenu(This, MenuIndex) -> wxMenu:wxMenu() when This :: wxMenuBar(), MenuIndex :: integer().
傳回 menuIndex
(從零開始) 的選單。
傳回此選單列中的選單數量。
-spec getMenuLabel(This, Pos) -> unicode:charlist() when This :: wxMenuBar(), Pos :: integer().
傳回頂層選單的標籤。
請注意,傳回的字串包含在選單標題字串的建構期間指定的快捷鍵字元。
傳回值:選單標籤,如果找不到選單則傳回空字串。
備註:僅在選單列已與框架相關聯後才使用。
請參閱
-spec getMenuLabelText(This, Pos) -> unicode:charlist() when This :: wxMenuBar(), Pos :: integer().
傳回頂層選單的標籤。
請注意,傳回的字串不包含在選單標題字串建構期間指定的任何快捷鍵字元。
傳回值:選單標籤,如果找不到選單則傳回空字串。
備註:僅在選單列已與框架相關聯後才使用。
請參閱
-spec insert(This, Pos, Menu, Title) -> boolean() when This :: wxMenuBar(), Pos :: integer(), Menu :: wxMenu:wxMenu(), Title :: unicode:chardata().
將選單插入選單列的給定位置。
在位置 0 插入選單會將其插入最開頭,在位置 getMenuCount/1
插入與呼叫 append/3
相同。
傳回值:成功時為 true,發生錯誤時為 false。
請參閱:append/3
判斷項目是否被勾選。
傳回值:如果找到該項目且已勾選,則傳回 true,否則傳回 false。
判斷項目是否已啟用。
傳回值:如果找到該項目且已啟用,則傳回 true,否則傳回 false。
-spec macGetCommonMenuBar() -> wxMenuBar().
讓您可以在 Mac 上取得全域選單列,也就是當應用程式在沒有開啟任何框架的情況下執行時所顯示的選單列。
傳回值:全域選單列。
備註:僅在 Mac 上存在,其他平台沒有此方法。
僅適用於:wxosx
-spec macSetCommonMenuBar(Menubar) -> ok when Menubar :: wxMenuBar().
讓您可以在 Mac 上設定全域選單列,也就是當應用程式在沒有開啟任何框架的情況下執行時所顯示的選單列。
備註:僅在 Mac 上存在,其他平台沒有此方法。
僅適用於:wxosx
-spec new() -> wxMenuBar().
建構一個空的選單列。
-spec oSXGetAppleMenu(This) -> wxMenu:wxMenu() when This :: wxMenuBar().
傳回 Apple 選單。
這是最左側的選單,其標題為應用程式的名稱。您不應該從中刪除任何項目,但可以安全地將額外的選單項目或子選單插入其中。
僅適用於:wxosx
自:3.0.1
-spec remove(This, Pos) -> wxMenu:wxMenu() when This :: wxMenuBar(), Pos :: integer().
從選單列中移除選單並傳回選單物件 - 呼叫者負責刪除它。
此函式可以與 insert/4
一起使用以動態變更選單列。
請參閱:replace/4
-spec replace(This, Pos, Menu, Title) -> wxMenu:wxMenu() when This :: wxMenuBar(), Pos :: integer(), Menu :: wxMenu:wxMenu(), Title :: unicode:chardata().
將給定位置的選單替換為另一個選單。
傳回值:先前位於 pos 位置的選單。呼叫者負責刪除它。
請參閱
-spec setAutoWindowMenu(Enable) -> ok when Enable :: boolean().
-spec setHelpString(This, Id, HelpString) -> ok when This :: wxMenuBar(), Id :: integer(), HelpString :: unicode:chardata().
設定與選單項目相關聯的說明字串。
請參閱:getHelpString/2
-spec setLabel(This, Id, Label) -> ok when This :: wxMenuBar(), Id :: integer(), Label :: unicode:chardata().
設定選單項目的標籤。
備註:僅在選單列已與框架相關聯後才使用。
請參閱:getLabel/2
-spec setLabelTop(This, Pos, Label) -> ok when This :: wxMenuBar(), Pos :: integer(), Label :: unicode:chardata().
等同於:setMenuLabel/3
-spec setMenuLabel(This, Pos, Label) -> ok when This :: wxMenuBar(), Pos :: integer(), Label :: unicode:chardata().
設定頂層選單的標籤。
備註:僅在選單列已與框架相關聯後才使用。