1. 程式人生 > >第八課——菜單、工具欄和狀態欄

第八課——菜單、工具欄和狀態欄

菜單項 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通知消息,故快捷菜單是通過其映射函數實現的

二、工具欄

第八課——菜單、工具欄和狀態欄