VC2010 对话框显示菜单栏并响应

1. 新建项目,在resourceview视图添加新的菜单(右键)

 

VC2010 对话框显示菜单栏并响应_第1张图片

 

2. 在下图Type Here处添加菜单内容。

VC2010 对话框显示菜单栏并响应_第2张图片

注意,当定义了二级及以后菜单后,一级菜单就不能再更改ID了,也不再有响应函数;

注意菜单资源的名称 IDR_MENU1,之后会用到。

 

3. 添加完菜单后,单击子菜单项,在properties中修改各子菜单项的ID:

VC2010 对话框显示菜单栏并响应_第3张图片

 

4. 在主对话框.h文件中,添加菜单变量;在.cpp文件的OnIniDialog()函数中导入菜单资源:

VC2010 对话框显示菜单栏并响应_第4张图片

<span style="font-size:18px;">CMenu m_Menu;</span>
<span style="font-size:18px;">m_Menu.LoadMenu(IDR_MENU1);
SetMenu(&m_Menu);</span>

 

还有一种显示方法如下:

先增成员变量HMENU m_hMenu1;
然后在初始化函数OnInitDialog()添加一下代码:
 m_hMenu1=LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU1));//导入资源,创建

菜单
 ::SetMenu(this->GetSafeHwnd(),m_hMenu1);//添加到对话框

5. 在Class Wizard中为各子菜单添加相应消息函数:

VC2010 对话框显示菜单栏并响应_第5张图片

VC2010 对话框显示菜单栏并响应_第6张图片

注意:类一定要选主对话框类。

 

6. 在消息响应函数内,添加相应程序:

VC2010 对话框显示菜单栏并响应_第7张图片

参考:http://blog.csdn.net/phenixyf/article/details/42680473

          http://blog.csdn.net/phenixyf/article/details/42713045

 

你可能感兴趣的:(VC2010 对话框显示菜单栏并响应)