对话框窗口中的消息框(VS 2012,MFC C++)
Posted
技术标签:
【中文标题】对话框窗口中的消息框(VS 2012,MFC C++)【英文标题】:MessageBox in Dialog windows (VS 2012, MFC C++) 【发布时间】:2015-03-21 22:56:22 【问题描述】:我创建了新的对话框窗口(Visual Studio 2012,基于对话框的 MFC 应用程序)并从程序菜单中调用它,如下所示:
CDialog dlg(IDD_Dialog1);
dlg.DoModal();
在新窗口中(IDD_Dialog1
)我正在尝试制作一个 MessageBox。通过单击按钮 MessageBox
不显示。
如何正确制作?
【问题讨论】:
您必须从CDialog
驱动一个新类,例如命名为CMyDialog
。你可以在CDialog
上搜索教程,有很多。或者在资源部分添加一个新对话框,双击资源中的对话框,Visual Studio 会自动为你创建类。在资源编辑器中,在对话框中插入一个按钮,双击该按钮,VS 应该创建一个函数来处理单击该按钮时发生的情况。
你能分享一些代码吗?
请显示使用MessageBox的代码。或者,尝试使用AfxMessageBox。
【参考方案1】:
这里有一些你不应该真正需要的基本代码。最好使用 Visual Studio 向导制作 MFC 应用程序,基于对话框或其他东西,然后转到资源编辑器,创建一个对话框,在资源编辑器中双击该对话框,它会为您完成。仍在资源编辑器中时,将一个按钮拖放到对话框中,双击您刚刚放入的那个按钮...
//mydialog.h
class CMyDialog : public CDialog
public:
CMyDialog(int id, CWnd* parent = NULL);
void OnButton1();
DECLARE_MESSAGE_MAP()
;
//mydialog.cpp
BEGIN_MESSAGE_MAP(CMyDialog, CDialog)
ON_COMMAND(IDC_BUTTON1, OnButton1)
END_MESSAGE_MAP()
CMyDialog::CMyDialog(int id, CWnd* parent) : CDialog(id, parent)
void CMyDialog::OnButton1()
MessageBox(L"hello world");
//myapp.cpp
BOOL CMyApp::InitInstance()
CWinApp::InitInstance();
CMyDialog dlg(IDD_DIALOG1);
dlg.DoModal();
return 0;
【讨论】:
以上是关于对话框窗口中的消息框(VS 2012,MFC C++)的主要内容,如果未能解决你的问题,请参考以下文章