我创建这样的模态对话框:
CDialog dlg;
dlg.DoModal();
但是当窗口打开时,我可以访问程序的背景窗口(移动它们并关闭它们),但我只需要关注我当前的窗口。(我认为模态对话框不应该这样)
我怎样才能做到这一点?
编辑:
似乎我找到了这种行为的原因:在打开我的对话框之前,我在 CMyDlg::OnInitDialog() 函数中打开了另一个模态对话框,当我对此发表评论时,我的对话框再次变为模态。但是如何解决这个问题呢?
一些描述问题的代码:
void CMyView::OnSomeButtonPress()
{
CMyDlg dlg;
dlg.DoModal();
}
BOOL CMyDlg::OnInitDialog()
{
CDialog::OnInitDialog();
//some init here...
//new modal dialog here (if comment this CMyDlg works as modal)
CSettingsDlg dlg;
dlg.DoModal();
//...
}