返回一个前郑或CMenu对象指针,你最好慧伍使用前检查一下返回值,然后再使用 -> *** 作。
从你描述来看,可能在OnCreate时应该尚未创建菜单,所以丛棚返回的是个NULL
要在主菜单中添加d出菜单,可以在资源编辑器的菜单中直接编辑,不需要代码的。
1、添加菜单资源 在resourceview视图中右击选择insert,添加一个菜单资源IDR_MENU1,同时设定好响应的菜单项,例如:菜单1 菜单2
子菜单1(ID_MENUITEM1)子菜单3(ID_MENUITEM3)
子菜单2(ID_MENUITEM2)子菜单4(ID_MENUITEM4)
2、在对话框中添加该菜单
先增成员变量HMENU m_hMenu1然后在初始化函数OnInitDialog()添加祥芦一下代码:m_hMenu1=LoadMenu(AfxGetInstanceHandle(),MAKEINTRESOURCE(IDR_MENU1))//导入资源,创建菜单::SetMenu(this->GetSafeHwnd(),m_hMenu1)//添加到对话框
3、添拆宴州加子菜单响应函数
点击菜单View-->ClassWizard,在message map选项卡中选择我们要响应的菜单ID_MENUITEM1,然后选择COMMAND消息,双击添加到member functions中,提示命名,命名后在member functions双击该函数,
4、编写响应动作
在3里面添加的响应函数中,CAboutDialog dlgdlg.DoModal()//注意先创建该对话框资源并实体化为类,在主对话框CPP文件包含关于对话框的旅蔽头文件。
5、注销资源
在对话框的OnDestroy函数中添加一下代码: DestroyMenu(m_hMenu1)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)