创建了模式对话框之后,可以根据DoModal()的返回值
来判断在对话框中按下了什么按钮,可创建无模式对话框是,父窗口怎样才能知道NewDlg关
闭的时候按下的是“OK”还是“CANCEL”呢?希望前辈们能不吝赐教,希望能讲得清楚些,最好能有简单
的示例代码!
万分感谢!!!

解决方案 »

  1.   

    自己响应这两个按钮的消息,但你响应函数中你不应该调用CDialog::OK和CDialog::OnCancel否则对话框就结束了。
      

  2.   

    这个我知道,但关键是我要让父窗口知道NewDlg关
    闭的时候按下的是究竟是“OK”还是“CANCEL”按钮?
      

  3.   

    在父对话框中添加成员函数 
    void ModelessDialogClose( UINT ID )
    {
        if ( ID == IDOK )
            // ...
        else if ( ID == IDCANCEL )
            // ...
    }在无模式对话框的 OnOK 和 OnCancel 函数中添加代码:
    ( ( CParentDlg* ) GetParent() ) -> ModelessDialogClose( IDOK );   // 或 IDCANCEL
    DestroyWindow();注意头文件的包含
      

  4.   

    这么说吧,其实我是想在无模式对话框里,
    当按下OK按钮时关闭,并由父窗口再弹出
    一个对话框,当按下CANCEL按钮时关闭,并且父窗口也
    关闭。
     
    按HuiChen(灰尘)的说法,创建的时候是不
    是就必须在Creat()中指定pParentWnd啊?
      

  5.   

    如果你的父窗口是应用程序主窗口,则不用,Create 只需指定第一个参数;
    如果不是,则传递 this 指针。