0

edit control我有一个自定义对话框消息框,当我的主对话框中的数据错误时弹出。

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

//more code

OK button我希望仅在我在CDlgError弹出对话框中按 an 后才执行其余代码。我怎样才能做到这一点?

4

2 回答 2

3

使用DoModal代替CreateandShowWindow来显示您的错误对话框。例如

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

正如您从代码中看到的那样,您需要传入文本,然后在其中设置您的消息标签,CDlgError::OnInitDialog因为在进入模态之前控件不会被初始化。

于 2012-12-17T14:42:52.780 回答
0

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

于 2012-12-18T11:39:54.770 回答