第八課——菜單、工具欄和狀態欄
阿新 • • 發佈:2017-12-02
菜單項 create reat mfc pop 鍵盤 ram 格式 快捷
一、菜單
1. 關鍵點
- 菜單系統設計的規則:菜單項文本的格式、助記符等
- 符號&:用來指定後面的字符是一個助記符
- 頂層菜單:可以是一個簡單的菜單命令,也可以是下拉菜單
- 用菜單編輯器添加和修改菜單項
- CMenu類:用來處理菜單的一個MFC類
2. 切換應用程序菜單
效果:在兩個菜單資源間切換
為CMainFrame類添加一個CMenu類型的成員變量m_NewMenu
兩個CMenu成員函數的妙用:Detach、LoadMenu
- Detach:使菜單對象與菜單句柄分離
- LoadMenu:裝載菜單資源,若菜單對象的句柄已經創建,則會發生運行時錯誤
- CWnd類的成員函數SetMenu:設置應用程序的菜單
3. 使用鍵盤快捷鍵
效果:為上面兩個菜單(資源)定義鍵盤快捷鍵,使菜單項和快捷鍵聯用
- 在“ResourceView選項卡”→雙擊Accelerator結點→雙擊加速鍵列表的最下端的空行
4. 菜單的編程控制
- 需求性分析:讓用戶自己定制菜單,所謂編程控制,即在程序中進行控制
- 程序運行時處理有關菜單的操作:創建菜單、裝入菜單、刪除菜單項、設置菜單項的狀態等
上面的這些操作都可以用MFC菜單類CMenu來實現,舉例:
- CMenu類的CreateMenu和CreatePopupMenu函數分別用來創建一個菜單或子菜單框架
- CMenu類的LoadMenu函數可將菜單資源裝入應用程序中
- CMenu類的AppendMenu或InsertMenu函數可添加一些菜單項
- 還有許多函數,譬如重新設置應用程序菜單、刪除指定的菜單項等等。
5. 使用快捷菜單
快捷菜單實現函數:CMenu::TrackPopupMenu
使用上面的函數可以創建快捷菜單
右擊會發送WM_CONTEXTMENU通知消息,故快捷菜單是通過其映射函數實現的
二、工具欄
第八課——菜單、工具欄和狀態欄