2012-12-17 67 views
0

我有一个自定义对话框消息框,当我的主对话框中的edit control有错误的数据时弹出。按下ok后继续MFC对话框

CDlgError dlgError = new CDlgError(this); 
dlgError.Create(CDlgError::IDD, this); 
dlgError.m_staticMessage.SetWindowTextA("Error message!"); 
dlgError.ShowWindow(SW_SHOW); 

//more code 

我想要的代码的其余部分我在CDlgError弹出的对话框中,按一个OK button后才执行。我怎样才能做到这一点?

+1

调用'DoModal'而不是'ShowWindow' – 2012-12-17 14:43:09

回答

3

使用DoModal而不是CreateShowWindow来显示错误对话框。例如

CDlgError dlgError = new CDlgError(this); 
dlgError.m_strMessage = "Error message!"; 
dlgError.DoModal(); 

正如你可以从代码中看到,你需要在文本传递,然后设置你的信息标签内CDlgError::OnInitDialog因为控制不会才去模式进行初始化。

0

您正在创建使用Create一个对话框,显示modalless对话框(可以在应用程序的其他部分单击甚至对话框打开)。 您的要求是针对模式对话框,在此对话框关闭之前,您无法单击应用程序的任何部分。 为此,请使用DoModal函数代替create。