在MFC中,如何让一个按钮连续创建多个对话框实例而不关闭它们?
In MFC, How can I have a button to create several dialog instances successively without closing them?
我已经实现了一个带有按钮的对话框。
当用户单击该按钮时,将显示一个新对话框。但问题是用户无法单击按钮,除非我关闭新对话框。
如何让用户在不关闭新对话框实例的情况下单击按钮?
这里是按钮点击部分的代码:
void CMyprojDlg::OnClicked()
{
dialognewone mydia;
mydia.DoModal();
}
根据 Michael Walz 评论的关键字。
我已将我的代码更改为
void CMyprojDlg::OnClicked()
{
DialogClassName *dia = new DialogClassName;
dia->Create(IDNumberOfTemplate,this);
dia->ShowWindow(SW_SHOW);
}
并且有效。
您应该动态创建无模式对话框:
void CMyprojDlg::OnClicked()
{
// Note that: you should free memory by yourself when you close the dialog
dialognewone *mydia = new dialognewone();
mydia->Create(IDD_DIALOG1); // create a modeless dialog
mydia->ShowWindow(SW_SHOWNORMAL); // show a modeless dialog
}
我已经实现了一个带有按钮的对话框。
当用户单击该按钮时,将显示一个新对话框。但问题是用户无法单击按钮,除非我关闭新对话框。
如何让用户在不关闭新对话框实例的情况下单击按钮?
这里是按钮点击部分的代码:
void CMyprojDlg::OnClicked()
{
dialognewone mydia;
mydia.DoModal();
}
根据 Michael Walz 评论的关键字。
我已将我的代码更改为
void CMyprojDlg::OnClicked()
{
DialogClassName *dia = new DialogClassName;
dia->Create(IDNumberOfTemplate,this);
dia->ShowWindow(SW_SHOW);
}
并且有效。
您应该动态创建无模式对话框:
void CMyprojDlg::OnClicked()
{
// Note that: you should free memory by yourself when you close the dialog
dialognewone *mydia = new dialognewone();
mydia->Create(IDD_DIALOG1); // create a modeless dialog
mydia->ShowWindow(SW_SHOWNORMAL); // show a modeless dialog
}