【MFC】【VS2019】菜单上无法添加事件处理程序。菜单添加事件处理程序一直是灰的,点不了。
程序员文章站
2022-03-08 15:58:11
...
问题
最近学校的数据库实验用MFC+VS2019写小型数据库管理程序,自学MFC,按以下步骤添加菜单跳转窗口时遇到了菜单添加事件处理程序一直是灰的,点不了的问题。
MFC插入MENU菜单栏并点击菜单弹出新窗口
菜单添加事件处理程序(A)
点击不了
解决方案
方法一 将菜单中的中文字符改成英文
点不了的情况下,我的菜单上显示的caption
是汉字关于
,将Caption
换成About
之后菜单添加事件处理程序(A)
可以点击,点击后就可选择相应逻辑
方法二 手动添加事件处理程序
首先在MysqlDlg.cpp(你想要添加事件处理的Dlg)中添加信息逻辑,ON_COMMAND(1, &CMysqlDlg::OnAbout)
注意前一个参数1为Menu菜单窗口编辑的ID
具体步骤为:在窗口内点击右键,选择“编辑ID(E)”选项,为每个菜单按钮添加ID
后一个参数是跳转逻辑函数,这个函数也是添加在MysqlDlg.cpp(你想要添加事件处理的Dlg)中
void CMysqlDlg::OnAbout()
{
// TODO: 在此添加命令处理程序代码
About dig;
dig.DoModal();
}
最后需要在MysqlDlg.h(你想要添加事件处理的Dlg头文件)中全局public添加afx_msg void OnAbout();