我用win32项目,选择静态库,选择mfc支持,自己做了一个静态库。里面有一个对话框,类名是CStaticLib,然后我又创建了个MFC应用程序(基于对话框的),想使用我自己做的类,包含它的头文件和库了,但是不弹出来我做的对话框。该怎么办?难道MFC应用程序不能使用用WIN32做的静态库吗?

解决方案 »

  1.   

    void CTestStaticLibDlg::OnBnClickedButton1()
    {
    CStaticLib dlg;
    dlg.DoModal();
    }
    在MFC应用程序中我是这样调用的,它不弹出我做的对话框!求大神解决!!!!
      

  2.   

    内部封装动态库的话是这么写的。应该是你内部实现的问题吧
    AFX_MANAGE_STATE(::AfxGetStaticModuleState());
    CXXXXDlg _dlg(CWnd::FromHandle(AfxGetMainWnd()->GetSafeHwnd()));
    _dlg.DoModal();
    return TRUE;
      

  3.   

    在调用DoModal()之前先调用AFX_MANAGE_STATE(AfxGetStaticModuleState());