已有一个ID为IDD_DIALOG的对话框资源,这个资源属于CDlgAbout类
  那么,如何加载IDD_DIALOG这个对话框?

解决方案 »

  1.   

    楼主的问题应该是这样吧,有一个控件,点击此控件弹出对话框,是这个意思吗?
    可以通过消息映射函数,在函数中创建CDlgAbout 类对象,调用doModel()方法,如下:
    void C__View::yourButton() 
    {
        // TODO: Add your message handler code here and/or call default
        CDlgAbout dlg;
        if(dlg.DoModal()==IDOK)
        {
          ...
        }
    }CDlgAbout 类是自带的类,一般会重新添加一个对话框资源的。
    个人建议。希望提出宝贵意见。
      

  2.   


    CDlgAbout dlg;
    dlg.DoModal();
      

  3.   

    谢谢LS的,但是这样创建的MS是模式窗体,如果我想创建非模式窗体呢?
    我自己查了下MSDN,自己下了下面两种代码:
    CDlgAbout Dlg;
    Dlg.Create(IDD_DIALOG);
    Dlg.ShowWindow(SW_SHOWDEFAULT);
    上面的Dlg这个得声明为全局变量,不然在函数结束后,就被会清空。觉得用全局变量有点不舒服- -然后是用指针        CDlgAbout *p = new CDlgAbout();
    p->Create(IDD_DIALOG);
    p->ShowWindow(SW_SHOWDEFAULT);我个人有个疑问,我为*p分配了空间,但是却没有释放它,这样会不会造成RAM泄露?
    还有就是加载的窗体虽然是无模式的,但是点击其他窗体,新加载的窗体不会自动置后,难道这个操作有需要手动实现?