DlgInputPWD从CDialog继承,上面有一个密码框,一个按钮,按钮的响应事件为
void DlgInputPWD::OnBtnOK() 
{
// TODO: Add extra validation here
UpdateData();
CDialog::OnOK();
}
对话框的调用如下:
DlgInputPWD *printdlg = new DlgInputPWD();
printdlg->DoModal();
AfxMessageBox("22");
对话框能弹出来,点了ok后对话框消失了,但是 "22"不会出现,问题出在那里?

解决方案 »

  1.   

    printdlg->DoModal();
    是不是这句结束了程序也就结束了?
      

  2.   

    假如是的话如何防止?我改成
    void DlgInputPWD::OnBtnOK() 
    {
    // TODO: Add extra validation here
    UpdateData();
    EndDialog(0);
    }
    也不行
      

  3.   

    EndDialog(0);不是也结束了对话框吗?OnOK也是啊
    所以你最好想办法不让对话框结束。
    或者可以将相关的操作放在OnBtnOK()中处理。
      

  4.   

    对话框要结束后AfxMessageBox("22");为什么没有执行啊?