Menu可以看做是一个2维的表
标记菜单 缺省菜单(黑色体,一个子菜单中只有一个) 分隔栏(用索引计算时候别忘记了,也是占用索引的)
图像标记,可以用GetSytemMetric(SM_CXMENUCHECK)获取图标大小。注意大小。
EnableMenuItem MF_DISABLE|MF_GRAY m_bautomenable = false 自己控制
CMenu.loadMenu SetMenu CMenu.detach() 局部变量就好了,不会析构HMENU
WM_INTIMENUPOPUP 显示菜单 ON_COMMAND_UI_UPDATE 关联没加菜单项,CCmdUI* 不能用于POPUP顶层菜单
工具栏上的ID和菜单项ID一样,然后就相互关联了
利用 ON_UPDATE_COMMADN_UI 改变菜单项目,是一个好的设计,
如果某个按钮点击了后,导致,可以发送小消息 SendMessage(WM_COMMAND, CN_UPDATE_COMMAND_UI);
绘制右键弹出菜单 CMenu.TrackPopMenu 注意坐标是屏幕 注意拥有窗口 决定消息处理的类,如果是View只有View DOC类可以接受消息,如果是FRAME再显示子窗口VIEW在DOC
子菜单1 子菜单2 子菜单3
菜单项1
菜单项2
子菜单是一个PopUp是弹出菜单,不能响应消息,作用弹出子菜单下面的菜单项目
CMenu.GetSubMenu
CMenu.GetSubItem