Wince中MFC对话框中添加菜单项的做法 (平台是VS2005)

来源:互联网 发布:库里15-16赛季数据统计 编辑:程序博客网 时间:2024/04/30 21:09

新建一个基于对话框的MFC工程,

通过资源视图中的*.rc点右键“添加资源”,选择“MENU”,然后“新建”


在出现的空菜单条上选择第一个空处,修改它的Caption属性为“文件(&O)”,

可以看到它自动变成了一个菜单项,同时可以看到字母O下面有下滑线,代表热键。

在刚才的菜单下面的子菜单空处继续添加菜单项“新建/tCtrl+N”、“打开/tCtrl+O”和“保存/tCtrl+S”,

可以看到由于制表符“/t”的作用,菜单标题中的“Ctrl+N”等快捷键标示都对齐了。

选择它们下一个空处,不添加Caption属性,直接在Separator属性前打勾,下一项就变成了分割线。

接着向上面一样添加“退出/tAlt+F4”菜单项。

 

在PC机中选择关联到主对话框类上 ,只需编辑主对话框资源的属性,在Menu项中选择刚才创建的菜单资源ID(本例是IDR_MENU1)。但是在wince建立的MFC对话框属性中没有Menu属性,因此需要编写代码来实现关联,关联代码如下,只需要在主对话框中添加以下代码,注意IDR_MENU1是你要关联的菜单的ID。

  HINSTANCE   hInst   =   AfxGetResourceHandle();  
HWND   hwndCB   =   CommandBar_Create(hInst,this->GetSafeHwnd(),1);  
if(hwndCB   ==   NULL)  
{  
TRACE0("Failed   to   create   CommandBar/n");  
}  

if(!CommandBar_InsertMenubar(hwndCB,hInst,IDR_MENU1,3) )       
{  
TRACE0("Failed   Insert   Menu   to   CommandBar/n");   
}

对这些菜单项建立消息映射本质与Button相同,都是接收系统的COMMAND消息,但是因为无法通过双击来简单的建立,

VS2005,每个菜单的映射函数非常容易,如:添加 文件菜单下的打开映射,只需要,进入资源视图的菜单界面,在“打开”的地方,右键点击“添加事件处理程序”,然后跳出“事件处理程序向导”,我选择的COMMAND消息类型,修改函数处理程序名称,点击添加编辑按钮,进入了事件处理程序补充完整,即可。

原创粉丝点击