選單編輯器 (C++)
功能表允許您以有邏輯和容易尋找的方式排列命令。 使用功能表 編輯器,您可以直接使用與已完成應用程式中類似功能表的功能表欄來建立和編輯功能表。
提示
使用 功能表編輯器時,在許多情況下,您可以按下滑鼠右鍵以顯示常用命令的快捷功能表。 可用的命令取決於指標所指項目。
作法
選單 編輯器 可讓您:
建立標準功能表
移至功能表 [檢視資源檢視>] 或 [檢視>其他 Windows>資源檢視],然後在功能表標題上按下滑鼠右鍵。 選擇 [ 新增資源],然後選擇 [功能表]。
選取選單列上的 [ 新增專案 ] 方塊(包含 [在這裡類型] 的矩形。
新增專案 方塊輸入新功能表的名稱,例如 [ 檔案]。
您輸入的文字會出現在 [功能表編輯器] 和 [屬性視窗] 的 [標題] 方塊中。 您可以在任一位置編輯新功能表的屬性。
一旦您在功能表列上指定新功能表的名稱,新專案方塊就會向右移動(讓您新增另一個功能表)。 另一個新專案方塊會在您的第一個功能表下方開啟,因此您可以將功能表命令新增至其中。
在您輸入功能表名稱之後,焦點已轉移的新專案 方塊注意
若要在功能表列上建立單一專案功能表,請將 Popup 屬性設定為 False。
建立子功能表
選取您要為其建立子功能表的功能表命令。
在顯示於右側的 [ 新增項目 ] 方塊中,輸入新功能表命令的名稱。 這個新命令會先出現在子功能表的功能表上。
將更多功能表命令新增至子功能表。
在現有的功能表間插入新的功能表
選取現有的功能表名稱,然後按 [插入 ] 鍵,或以滑鼠右鍵按單下選單欄,然後選擇 [ 插入新]。
[ 新增專案 ] 方塊會在選取的專案之前插入。
將命令新增至功能表
建立功能表。 然後選取功能表名稱,例如 [ 檔案]。
每個功能表會展開並公開命令的新項目方塊。 例如,您可以將 [新增]、[開啟] 和 [關閉] 命令新增至 [檔案] 功能表。
在新的項目方塊中,輸入新功能表命令的名稱。
注意
您輸入的文字會出現在 [功能表編輯器] 和 [屬性視窗] 的 [標題] 方塊中。 您可以在任一位置編輯新功能表的屬性。
提示
您可以定義可讓使用者選取功能表命令的助憶鍵 (熱鍵)。 在字母前面輸入 ampersand (
&
),將它指定為助記鍵。 使用者可以輸入該字母來選取功能表命令。在 [ 屬性] 視窗中,選取套用的功能表命令屬性。 如需詳細資訊,請參閱 功能表命令屬性。
在 [屬性] 視窗中的 [提示] 方塊中,輸入您想要出現在應用程式狀態列中的提示字串。
此步驟會在字串數據表中建立專案,其資源識別碼與您建立的功能表命令相同。
注意
提示只能套用至具有 True 的 Popup 屬性的功能表項。 例如,如果最上層功能表項目有子功能表項目,就可以有提示。 提示的目的是指出用戶選取功能表項時會發生什麼情況。
按 Enter 鍵以完成功能表命令。
已選取新的專案方塊,讓您可以建立更多功能表命令。
若要選取多個功能表命令來執行大量作業,例如刪除或變更屬性
按住 Ctrl 鍵時,選取您想要的功能表或子功能表命令。
移動和複製功能表和功能表命令
使用拖放方法:
將您要移動的項目拖曳或複製到:
目前功能表中的新位置
其他功能表。 您可以將滑鼠指標拖曳到其他功能表上方,以流覽至其他功能表。
當插入輔助線顯示想要的位置時,請放下功能表命令。
使用捷徑選單命令:
以滑鼠右鍵按一或多個功能表或功能表命令,然後選擇 [剪下] 或 [移動] 或 [複製]。
如果您要將專案移至另一個功能表資源或資源腳本檔案,請在 另一個視窗中開啟它。
選取您要移動或複製目標的功能表或功能表命令位置。
從捷徑功能表上選擇 [ 貼上]。 移動或複製的項目會放在您選取的項目之前。
注意
您也可以拖曳、複製和貼上到其他功能表視窗中的其他功能表。
刪除功能表或功能表命令
以滑鼠右鍵按單名稱或命令,然後選擇 [ 刪除]。
注意
同樣地,您可以使用捷徑功能表來執行其他動作,例如複製、剪下、貼上、插入新項目、插入分隔字元、編輯 ID、以快顯方式檢視、檢查助憶鍵等。
快捷功能表
快顯功能表 會顯示常用命令。 它們可隨著指標位置顯示相關內容。 要在您的應用程式中使用快顯功能表,必須建置功能表本身,然後將它連接到應用程式程式碼。
建立功能表資源之後,您的應用程式程式代碼必須載入功能表資源,並使用 TrackPopupMenu 讓功能表出現。 一旦用戶藉由選取其外部或已選取命令來關閉快顯功能表,該函式就會傳回。 如果使用者選擇命令,該命令訊息將會傳送至已傳遞控制代碼的視窗。
注意
針對 Microsoft Foundation Class (MFC) 連結庫程式和 ATL 程式,請使用 程式代碼精靈 將功能表命令連結至程式碼。 如需詳細資訊,請參閱 將事件 和 對應訊息新增至函式。
若要建立快捷功能表,請建立具有空白標題的功能表,但不提供 Caption。 然後,將功能表命令新增至新的功能表。 移至空白菜單標題下方的第一個功能表命令(其具有暫時標題類型在這裡),並輸入 Caption 和其他任何資訊。
針對快捷功能表中的任何其他功能表命令重複此程式,並確定儲存功能表資源。
若要將彈出視窗連接到您的應用程式,例如,新增WM_CONTEXTMENU的訊息處理程式,然後將下列程式代碼新增至訊息處理程式:
CMenu menu; VERIFY(menu.LoadMenu(IDR_MENU1)); CMenu* pPopup = menu.GetSubMenu(0); ASSERT(pPopup != NULL); pPopup->TrackPopupMenu(TPM_LEFTALIGN | TPM_RIGHTBUTTON, point.x, point.y, AfxGetMainWnd());
注意
訊息處理程式所傳遞的 CPoint 位於螢幕座標中。
一般而言,當您在 [功能表編輯器] 中工作時,功能表資源會顯示為功能表欄。 不過,當程式執行時,您可能有加入至應用程式功能表列的功能表資源。
若要以快捷功能表的形式檢視功能表資源,請以滑鼠右鍵按單下功能表,然後選擇 [ 以彈出視窗檢視]。
此選項只是檢視喜好設定,不會修改您的功能表。
提示
若要變更回功能表欄檢視,請再次選取 [檢視為快顯 ]。 此動作會移除複選標記,並傳回功能表欄檢視。
需求
Win32