【问题标题】:MessageBox in Dialog windows (VS 2012, MFC C++)对话框窗口中的消息框(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

标签: c++ visual-studio-2012 mfc


【解决方案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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-09
    • 2019-09-19
    • 1970-01-01
    • 1970-01-01
    • 2012-08-02
    相关资源
    最近更新 更多