我用mfc框架生成基本对话框,点击ok按钮,要想弹出另一个对话框,另一个对话框一做好了,定义类为CStudentDlg;
我再ok函数中 应该怎么添加代码使其弹出来啊,我知道有一种是 
CStudentDlg dlg;
dig.DoModal();这样可以,好像还有另一种方式是( 不知什么)->showwindow(SW_SHOW);
这个还真不会用,具体该怎么写啊
这两种有什么区别吗,
前一种是默认模式对话框,
用后一种就默认为非模式对话框吗?
这两种有区别吗?该怎么设置,简单点,详细点
3q。

解决方案 »

  1.   

    CStudentDlg dlg; 
    dig.DoModal();这样可以, 
    这个是模式对话框,还有一种是弹出无模式对话框使用方式为 CStudentDlg ×pdlg = new CStudentDlg;
    pdlg->Create(IDD_TESTDLG, this);  //对话框ID
    pdlg->ShowWindow(SW_SHOW); 
      

  2.   

    在WIN32中,模式对话框的创建一般是使用DialogBox来进行创建的。而非模式对话框则是利用CreateWindow来创建的。在MFC或是WTL中,模式对话框一般是使用DoModal,而非模式对话框的创建则是使用Create。模式对话框创建后,程序的其他窗口便不能进行操作,必须将该窗口关闭后,其他窗口才能进行操作。而非模式对话框则无需这样,它不强制要求用户立即反应,而是与其他窗口同时接受用户操作。http://blog.csdn.net/sandyqy/archive/2008/11/18/3327863.aspx
      

  3.   

    模式对话框方式:
    CStudentDlg dlg; 
    dig.DoModal();
    模式对话框方式的特点是:你必须在关闭该对话框后才能返回,否则不能返回。
     
    非模式对话框方式 
    CStudentDlg ×pdlg = new CStudentDlg;
    pdlg->Create(IDD_TESTDLG, this); 
    pdlg->ShowWindow(SW_SHOW); 
    非模式对话框的特点是:你可以在所有对话框之间随意切换。