我打算建立一个单文档MFC程序。这个程序中选择不同的菜单项会跳出不同的对话框。
我是这么操作的。
1. 首先建立MFC单文档程序
2. 在资源工作间插入一个对话框
3. 通过“类向导”给这个对话框创建相应的类4. 第四步这里我不太会。书本是这么说的“只需在程序中调用DoModal()就可以显示出对话框”。请问这里的程序中是在
   菜单项的消息处理函数中吧。那么具体的调用方式是如何呢

解决方案 »

  1.   

    说明:第三步后我已经给那个类添加好了虚函数domodal,只是不知道调用的格式。
      

  2.   

    针对不同的菜单项,有不同的消息处理函数.
    在对应的消息处理函数中做下面的处理就可以了CTestDlg dlg;
    dlg.DoModal();
      

  3.   

    在你对应的对话框类里边,不需要添加虚函数DoModal的吧?
      

  4.   

    谢谢回答,我立马照着你说的试试。
    也试试不手动添加domodal的情况。
      

  5.   

    可以了。
    我首先按照你说的方法,没有添加那个虚函数,成功了。
    但是我不明白为什么已经有了这个虚函数,还可以对那个类进行添加这个虚函数的操作。
    然后我第二次试验的时候添加了domodal虚函数,发现它里面只有一句:
    return CDialog::DoModal();
    就是说它在别的类里调用的Domodal,然后我再这句return前面加上了一个MESSAGEBOX调试语句,结果就是当我选择菜单项时,先弹出MESSAGEBOX,再弹出对话框。
    比较清楚了 谢谢!
      

  6.   

    你自己手动的DoModal函数,是重载的.在基类里边有.
    如果你自己的对话框类里边不需要做特殊的操作,是不需要重载这个函数的