VC新手请教一个简单问题. 我建立了一个对话框工程文件.对话框是dialog1. 现在又插入了一个新的对话框dialog2.在dialog2上是数据输入窗口. 编译OK后运行. 系统运行Dialog1. 怎么做可以点dialog1上的ok按钮.转运行dialog2对话框? 就象VB中form2.show一样.

解决方案 »

  1.   

    响应dialog1上的ok按钮if(dialog2.DoModal()==IDOK)
    {
    //....
    }
      

  2.   

    dialog1里加入
    #include "dialog2.h"OK的单击事件中加入
    dialog2 dlg;
    dlg.DoModal();
      

  3.   

    在dialog1的ok按钮响应函数中:
    CDialog2 dlg;
    dlg.DoModal();
      

  4.   

    OK. 可以了.谢谢大家. 还要问一下 "民工"大侠.
    我在ClassWizard生成一个OK按键的触发消息函数也可以.
    if(dialog2.DoModal()==IDOK)
    {
    //....
    }
    如果用以上的代码.应该是加在哪个函数中?
      

  5.   

    if(dialog2.DoModal()==IDOK)
    {
    //....
    }
    这个添加在你想运行dialog2的函数里
      

  6.   

    应该是dialog1拦截IDOK消息才对啊.OK按钮在dialog1对话框上面. Dialog2还没有运行. 他应该还无法得到IDOK这个消息吧.再次请教.
      

  7.   

    #include"dialog2的类名"
     下面代码写在ok按纽的下面
    Cdialog类名 *pdlg=new Cdialog类名;
    pdlg->create(dialog的id);
    pdlg->showwindow(SW_SHOW);
    OK了.
      

  8.   

    if(dialog2.DoModal()==IDOK)
    {
       dialog1.domodal;
    }
      

  9.   

    我就在dialog1的ok触发消息函数中写了如下:
    CColorDialog dlg;
    dlg.DoModal();
    dialog1的cpp文件中包含dialog2.h就可以运行第二个dialog. 但不知道这种方法是否正确?