MFC 菜单项未打开对话框

MFC menu item doesn't open dialog box

本文关键字:打开对话框 菜单项 MFC      更新时间:2023-10-16

我有一个MFC应用程序和DialogBox的程序。我很确定我在这个教程中做得很好:https://msdn.microsoft.com/en-us/library/6wb9s9ah.aspx但它仍然不起作用。。。1.我用简单的菜单命令创建了一个新项目。2.我创建了新的菜单项(+ID)和新的资源对话框(+ID)。3.然后我用类向导添加了一个名为CParameters的新类。对于我在CDialog中键入的BaseClass。4.我在菜单项上创建了新的处理程序,并添加了代码

CParameters dlg;
dlg.DoModal();

我认为这就是它,这应该起作用。。。但它不是。。。缺少什么??这是我的项目,您可以自由访问:https://www.dropbox.com/sh/e6ajoxqk76hkuvn/AACRMY8bgcuyXguFwP240QB9a?dl=0

此外,我想插入文本编辑器,并从对话框中更改程序中的参数。

对源代码的扫描显示,您正在尝试处理将要显示对话框的类中的菜单项事件。

void CParameters::OnParam()
{
    // TODO: Add your command handler code here
    CParameters dlg;
    dlg.DoModal();
}

我在其他任何地方都看不到您实际实例化对话框类(我可能错过了它)。你所尝试的是不正确的。无法在显示对话框的同一类中处理菜单项事件,因为该类(CParameters)尚未实例化,因此无法响应菜单事件。通常,菜单事件将在大型机类中处理。

如果您是通过从一个简单的SDI应用程序中添加一个新的菜单项来完成此操作的,那么请尝试在中添加该部分代码

CMainFrame::OnEdit

这里使用的OnEdit方法是从新菜单项的事件处理程序获得的,消息类型为COMMAND。