baidu_25665887 2015-01-28 07:58 采纳率: 75%
浏览 6868
已采纳

MFC中怎么设置单击菜单弹出对话框?

举个例子,在菜单栏中单击“Setting”菜单下,“Hardware setting”子菜单中“Setting the printer”项(ID为ID_HARDWARESETTING_SETTINGTHEPRINTER),要弹出对话框“PrinterHWSetting”(ID为IDD_PrinterHWSetting)

对话框继承CDialog类,类名PrinterHWSetting,h文件和cpp文件都自动生成好了。
子菜单中的那一项我也创建好事件处理程序了,CMainFrame::OnHardwaresettingSettingtheprinter()
在主界面文件MainFrm.cpp中添加了如下代码:

void CMainFrame::OnHardwaresettingSettingtheprinter(){
PrinterHWSetting dlg;
dlg.DoModal(); }

最后生成,没有报错,运行程序也正常运行。但是我点开子菜单中的Setting the Printer项的时候,就是弹不出那个对话框,请问这是怎么回事?

我创建的是单文档程序,环境为VS2010

  • 写回答

3条回答 默认 最新

  • threenewbee 2015-01-28 08:11
    关注

    在你的代码开头加上一行
    MessageBox(0, "hello", NULL, MB_OK);
    或者下一个断点,总之看看你的OnHardwaresettingSettingtheprinter()有没有被执行。

    如果没有,用ClassWizard重新来映射一次。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?