如下代码,如何通过点击模态对话框上一按键打开另一非模态对话框的同时关闭该模态对话框?

按键1:
void CGPS0710View::OnMenuitem32771() 
{
// TODO: Add your command handler code here
CNewConnection dlg;
dlg.DoModal();  
if ("OnOK();")
{
CDialog::OnOK();
}
按键2(想通过按它关闭非模态对话框)
void CNewConnection::OnOK() 
{
// TODO: Add extra validation here
CMonitor *pdlg=new CMonitor();
pdlg->Create(IDD_DIALOG2,this);
pdlg->ShowWindow(SW_SHOW);
CDialog::OnOK();
}
如果需要同时关闭模态对话框,那么不能在模态对话框的按钮响应函数里面处理(如你补充代码),应该对这个按钮做CDialog::OnOK()处理(我试着改了)。然后在模态对话框的DoModal()的地方,判断返值是OK(这句不明白怎么做,我上面做得不对),那么Create&ShowWindow那个非模态对话框。

蝴蝶不菲
浏览 109回答 1
1回答

慕沐林林

如果你的模态对话框类是CNewConnection的话,那么你现在的这个函数:void CNewConnection::OnOK() {// TODO: Add extra validation hereCMonitor *pdlg=new CMonitor();//创建非模态对话对象并获取模态对话框对象指针pdlg->Create(IDD_DIALOG2,this);//创建非模态对话框pdlg->ShowWindow(SW_SHOW);//显示非模态对话框CDialog::OnOK();//关闭模态对话框}就可以实现你的功能,只是要保证当按下模态对话框上的按钮时候这个函数被调用。
打开App,查看更多内容
随时随地看视频慕课网APP