mfc对话框,我在主线程里新建了一个线程,在新线程里弹出了一个模态对话框(自己做的对话框),但是这个模态对话框不用关闭就能操作主对话框。这不是我想要的结果,我想要的结果是,只有关闭模态对话框,才能运行主对话框。请问怎么解决。
我试了一下:这个模态对话框如果在主线程里,它确实能够实现我想要的结果。为啥在新线程里,就不是模态对话框了。帮忙解决一下

解决方案 »

  1.   

    CPopDlg pd(主对话框指针);
    pd.DoModal();
      

  2.   

    因为模态对话框有自己的消息循环,你把它放到另一个线程里就起不到主线程的作用了在主线程用WaitForSingleObject应该可以直接在主线程里弹模态对话框就可以了,搞那么复杂干啥
      

  3.   

    打漏了两个字:
    因为模态对话框有自己的消息循环,你把它放到另一个线程里就起不到阻塞主线程的作用了在主线程用WaitForSingleObject应该可以直接在主线程里弹模态对话框就可以了,搞那么复杂干啥
      

  4.   

    在主线程用WaitForSingleObject,怎么用啊。能不能说得明白一点。我是刚开始学MFC。
      

  5.   

    自定义一个消息,新线程到了必要的时候SendMessage给主窗体,让主窗体DoModal弹出个对话框不就可以了么?CreateEventWaitForSingleObject(CEvent,时间)//在SetEvent之后就能PASS,如果不超时的话
     
      

  6.   


    这个问题我遇到过已解决了。CPopDlg pd(this);