一般新建的MFC项目都会有一个主对话框,而这个主对话框是在InitInstance()里DoModal()显示的.
而我希望在app里加入通讯代码,而不是在对话框里.这样可以实现网络通讯和界面分离.
但是DoModal()后,app将会阻塞,无办法运行其它逻辑.
如果采用Create方式建立对话框,则InitInstance()会马上退出,即程序退出了.望高手指点一下.

解决方案 »

  1.   

    基于对话框的MFC程序主对话框可以非模态:
    程序InitInstance()的时候new一个对话框并创建,同时给主窗体赋值,InitInstance注意返回TRUE,就不用DoModal的方式开模态对话框了。ExitInstantce()的时候别忘了把New出来的对话框释放掉;不过楼上几位说的也对,网络通信处理要单独线程处理;按说你即使用模态对话框也能做到界面和逻辑分离啊..
      

  2.   

    谢谢。InitInstance()里如果不使用DoModal那么程序就会立即退出了,如果使用了DoModal。那么我要同时创建多个窗口怎么办呢?