本人先在程序中插入一对话框(有三按钮IDOK,IDC——CANCEL,IDC——NEXT),要求按IDC——NEXT时进行数据交换但不关闭对话框,IDOK进行数据交换关闭对话框,IDC——CANCEL只关闭对话框,我用一菜单调用它使用如下语句:
CDlg dlg;
nResult=dlg.DoModal();
if(nResult==IDC_NEXT)
{
...........}就是不进行数据交换,请问是何原因?

解决方案 »

  1.   

    IDC_NEXT 的响应应该在对话框的CPP文件中
    if(nResult==IDC_NEXT) 这种写法只能是关闭对话框返回后用
      

  2.   

    楼上说得没错,应该在 dlg 中实现 commond msg: IDC_NEXT
      

  3.   

    数据交换程序应该放到对话框中IDC_NEXT 的事件中处理,而不是在这个地方,程序运行到此时,对话框已经关闭。
      

  4.   

    DoModal()的返回值为IDOK,IDCANCEL
      

  5.   

    利用ClassWizard产生一对话框类,在类中处理IDC_NEXT的单击事件。