【发布时间】:2013-09-05 11:07:55
【问题描述】:
我正在尝试使用单例创建非模态对话框。
CMyDlg& CMyDlg::GetInstance()
{
static CMyDlg myDlg;
return myDlg;
}
然后按下某个按钮,我调用 Create
CMyMain::OnSomeButtonPress()
{
CMyDlg::GetInstance().Create( CMyDlg::IDD );
}
但问题是当我尝试调用 Create 两次时它失败了(wincore.cpp 第 638 行中的内容)
我做错了什么以及为什么
CMyDlg::GetInstance().Create( CMyDlg::IDD );
不能调用两次?
【问题讨论】:
-
当对话框被创建时,它就被创建了。您不能两次创建相同的东西,这就像两次建造同一所房子(不是不建造同一房屋的副本,而是建造完全相同的房屋两次)。
-
在google上搜索“MFC无模式对话框”,你会发现很多解释和示例。
标签: c++ visual-c++ user-interface mfc