CMenu類為Windows HMENU的封裝類。它提供了成員函數以用于
創建、追蹤、更新及銷毀菜單。
在
本地的堆棧框架中創建一個CMenu對象,然后調用CMenu的成員函數來操縱所需的新菜單。
接著,調用CWnd::SetMenu函數為窗口設置菜單。然后立即調用CMenu對象的Detach成員函數。
CWnd::SetMenu成員函數將
窗口的菜單設置為新菜單,這將導致在窗口
刷新后將影響菜單的改變,同時也將菜單的
擁有者傳遞給窗口。調用
Detach函數將把HMENU從CMenu對象中分離出來,以便當本地的CMenu變量超出范圍后,CMenu對象的構造函數將不會銷毀不再擁有的菜單。
當窗口銷毀后,菜單自動銷毀。
可以調用LoadMenuIndirect成員函數在內存中創建來自模板的菜單,不過通過調用LoadMenu創建的菜單更容易維護。并且這種菜單資源本身也可以由菜單編輯器創建或修改。
#include <afxwin.h>
CMenu類的成員
數據成員
構造函數
初始化
菜單操作
菜單項操作
可覆蓋的函數