小弟刚学习vc不长时间,在今天的学习中,遇到一个问题一直的不到解答,问题是:我在菜单中建立了一个菜单项,同时创建了一个模式对话框,但是无论如何也掉不出对话框,感觉已经进行了初始化,并调用了DoModal()函数进行显示,可就是不成功,急死了,希望那位大哥大姐帮小弟一下,不胜感激!

解决方案 »

  1.   


    你直接 Insert->Resource->Dialog 
    然后  按下 CTRL+W,弹出向导,新建一个基于CDialog 的类。
    假如取名 CMyDialog,之后将  
    #include "MyDialog.h"放在 **view.cpp中
    再 按下 CTRL+W,弹出向导,选**view,给你的菜单添加 command函数
    void CMyView::OnMenuitem32771() 
    {
    // TODO: Add your command handler code here
    CMyDialog myDia;
    myDia.DoModal(); }
      

  2.   

    我成功的调用了,谢谢你们的热心帮助,还有就是在一般的想到类中,为什么about对话框是在CxxxApp中定义的,我想尝试,却没有成功,这就是上面提问的问题。
      

  3.   

    一般的对话框类中,CAboutDlg都是在C***Dlg类中定义的。
      

  4.   

    菜单对话框和点击按钮弹出对话框是一样的,都是给定一个ID,在WM_COMMAND中加上对应的对话框对象。其他不用动。
      

  5.   

    比如你的工程名叫  good
        你的菜单 ID 为 IDR_MUNU1
    在 good.h 里加入
        afx_msg int OnDo()
    在 good.cpp 里
    BENING_MESSAGE_NAP( CGoodApp, CWinApp )
        .................................
        ON_COMMEND( IDR_MENU1, OnDo );                //加入这句    .................................
    在 good.cpp 里 加入int OnDo()
    {
         CGoodDialog Good;
    Good.DoModal(); 
    }
      

  6.   

    没看明白 哦  VS2008里面没能调出DoModel哦