基于对话框的MFC程序,添加资源Menu后添加消息处理函数出错,怎么解决? 50
创建基于对话框MFC程序MfcApp添加资源Menu,在菜单编辑器一级菜单添加“系统”,在“系统”菜单下面添加“弹出对话框“、菜单分隔符”退出“菜单项。在菜单编辑器右键”...
创建基于对话框MFC程序MfcApp
添加资源Menu,在菜单编辑器一级菜单添加“系统”,在“系统”菜单下面添加“弹出对话框“、菜单分隔符”退出“菜单项。
在菜单编辑器右键”弹出对话框“菜单项,添加事件处理程序。在消息类型列表框中选择COMMAND,在类列表中选择CMfcAppDlg,单击”添加编辑“
添加选择菜单项的消息处理函数,代码如图,错误如图
程序运行后,单击”弹出对话框“菜单项,将弹出一个显示”Hello“对话框。单击”退出“菜单项,将关闭对话框。
我是初学者,有哪位高手告诉我这该怎么解决呢? 展开
添加资源Menu,在菜单编辑器一级菜单添加“系统”,在“系统”菜单下面添加“弹出对话框“、菜单分隔符”退出“菜单项。
在菜单编辑器右键”弹出对话框“菜单项,添加事件处理程序。在消息类型列表框中选择COMMAND,在类列表中选择CMfcAppDlg,单击”添加编辑“
添加选择菜单项的消息处理函数,代码如图,错误如图
程序运行后,单击”弹出对话框“菜单项,将弹出一个显示”Hello“对话框。单击”退出“菜单项,将关闭对话框。
我是初学者,有哪位高手告诉我这该怎么解决呢? 展开
3个回答
展开全部
你应首先声明你添加的消息响应函数,首先在BEGIN_MESSAGE_MAP和END_MESSAGE_MAP()定义消息响应函数,菜单的为COMMAND消息,因此需要ON_COMMAND(YOU_CTRL_ID, OnMessagebox);定义完成之后直接调用?当然还是不行滴,需要声明一下,否则是无法使用的,声明在你定义对话框类的头文件中,在对话框派生类任意位置添加afx_msg void OnMessagebox();这样的话就像普通函数一样,就可以响应你的消息了
展开全部
你的onmessage的实现,定义在了On32771里面.
正确的
void CMfcAppDlg::On32771()
{
//省略...
}
void CMfcAppDlg::OnMessageBox
{
//省略...
}
void CMfcAppDlg::OnExit
{
//省略...
}
正确的
void CMfcAppDlg::On32771()
{
//省略...
}
void CMfcAppDlg::OnMessageBox
{
//省略...
}
void CMfcAppDlg::OnExit
{
//省略...
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
错误不是说的很清楚吗,OnMessagebox不是CMfcAppDlg的成员函数啊,你调用一个不存在的函数当然出错啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询