Futurebasic/語言/參考/選單函式
selectedMenu = MENU(_menuID) selectedItem = MENU(_itemID)
2001 年 1 月 2 日(第 4 版)
如果您的程式中指定了選單事件處理例程(使用 ON MENU 語句),那麼 MENU(_menuID) 返回選單編號,而 MENU(_itemID) 返回使用者最近選擇的選單項的專案編號。您的選單事件處理例程應該在每次呼叫時檢查這些值。
為了讓使用者持續訪問選單欄,您的程式應該定期執行 HANDLEEVENTS。HANDLEEVENTS 檢查選單欄上的最近點選,並透過開啟選單並跟蹤滑鼠的移動來響應。最後,如果使用者選擇了選單項,HANDLEEVENTS 將呼叫您的選單事件處理函式。
選單編號 除蘋果選單、幫助選單和應用程式選單外,選單欄上的選單按從左到右的順序遞增編號。在大多數情況下,它們將從 1 開始連續編號。您使用 MENU 語句將選單編號分配給程式建立的選單。
蘋果選單的編號等於常量 _AppleMenu。如果您的程式在蘋果選單中添加了新專案,則 MENU 函式可以檢測到使用者何時選擇了這些專案。蘋果選單中的其他專案由 Finder 處理,您的程式無法檢測到使用者何時選擇了這些專案。您使用 APPLE MENU 語句在蘋果選單中新增專案。(注意:如果您在 MBAR 資源中建立了蘋果選單,則使用常量 _AppleResMenu 而不是 _AppleMenu。)
幫助選單的編號等於常量 _kHMHelpMenuID。如果您的程式在幫助選單中添加了新專案,則 MENU 函式可以檢測到使用者何時選擇了這些專案。幫助選單中的其他專案由幫助管理器處理,您的程式無法檢測到使用者何時選擇了這些專案。要向幫助選單新增新專案,請使用 Toolbox 例程 HMGetMenuHandle 和 AppendMenu(請參閱 MENU 語句,瞭解如何執行此操作的示例)。
您的程式無法直接檢測到應用程式選單中選擇的專案;這是由 Finder 處理的。但是,您的程式可以檢測到何時將另一個應用程式置於最前面。有關詳細資訊,請參閱 DIALOG 函式。
您的程式還可以檢測到彈出層次選單的父項何時被選中。這是由名為 UserFloatPrefs 的檔案中的一個常量開啟和關閉的,該檔案位於使用者庫資料夾中。啟用此功能的一個(不希望的)副作用是,透過將標題設定為停用狀態而變灰的選單將在非活動專案中生成選單事件。要使用舊方法(這是預設狀態)忽略層次專案,請註釋掉該行中的內容...
_FBEnableMenuChoice = _zTrue
要啟用新功能,請刪除註釋並允許定義該常量。此宣告位於名為 UserFloatPrefs 的檔案中,該檔案位於使用者庫資料夾中。
層次選單有自己的選單編號,與它們的“父”選單編號不同。您可以使用 MENU 函式來檢測程式建立的層次選單中的選擇。
彈出選單被認為是視窗控制元件(如按鈕),因此 MENU 函式無法檢測到它們。
專案編號 選單項從上到下連續編號,從 1 開始。請注意,專案之間的灰色分隔線有自己的專案編號,即使它不能被選中。在分配和解釋專案編號時,務必記住這一點。層次選單中的專案也是從 1 開始連續編號的。
影像曾在此處
MENU 語句;APPLE MENU;HANDLEEVENTS;ON MENU