我要将一基于对话框的vc程序形成dll 请问是直接移植类还是
需要建dll时形成自己的对话框 然后在原程序移些需要的东西
过来补充 
  望在家多多指教!

解决方案 »

  1.   

    做一个导出函数
    void ShowDlg()
    {
    CXXDlg dlg;
    dlg.Domodal();
    }
      

  2.   

    反正类不需要导出,导出函数就行
    当然,类必须移到dll里去
      

  3.   

    VC里导出类(特别是资源类,比如对话框类),用Add to Gallery来进行。
    即在ClassView里某个要导出的类点击右键,在弹出菜单中选Add to Gallery就可以了。在另外一个工程里,你可以到菜单Project->Add to Project->Components and Controls...里,选择你刚刚导出的类,然后引入本工程。
    签名:jmcooler
      

  4.   

    定义的成员函数,消息映射等如何处理 引入后编译报错 
    请问一下,是否需要在MFC Appwizard dll内重新做对
    话框等工作
      

  5.   

    extern "C" int WINAPI Call_Dialog()
    {
    AFX_MANAGE_STATE(AfxGetStaticModuleState());
    int nRet = 0;
    CDialog dDialog;
    nRet = dDialog.DoModal();
    return nRet;
    }可以带参数以弹出不同的对话框
      

  6.   

    这还需要例程吗?你做一个dll,里面有一个
    对话框,然后你在一个导出函数里domodal它
    就这么简单
      

  7.   

    是将类移入要做的工程 然后用导出函数吗
    我是做一个dll 将一个基于对话框的工程
    变为dll
      

  8.   

    是将类移入要做的工程 然后用导出函数吗
    我是做一个dll 将一个基于对话框的工程
    变为dll
      

  9.   

    是需要在dll里新建一个对话框吗?
      

  10.   

    是啊,你把文件copy到dll工程所在的目录,再把
    它们加入到工程里不就行了
      

  11.   

    c:\program files\microsoft visual studio\myprojects\bluedll5_1\bluecommdlg.h(23) : error C2065: 'IDD_BLUECOMM_DIALOG' : undeclared identifier
    那对于这类错误怎么处理啊
      

  12.   

    把资源也copy过去拉,不要直接copy
    用vc同时打开两个资源文件,然后把
    需要的复制过去
      

  13.   

    采用扩展动态库可以导出方便地这个MFC对话框类。先在该扩展动态库工程中
    添加对话框资源,然后用CLASSWIZARD生成对应类,并在头文件类声明中加入AFX_EXT_CLASS ,如下示:
    class AFX_EXT_CLASS CYourDLLDlg: public CDialog
    {.....}
    在使用该DLL的应用程序中加入这个头文件,并将其内容删减为
    class AFX_EXT_CLASS CYourDLLDlg: public CDialog
    {
    public:
    CYourDLLDlg(CWnd* pParent = NULL);   // standard constructor
    ~CYourDLLDlg();   // standard deconstructor
    };
    加上该动态库的LIB文件链接,应用程序就可像使用自己的对话框一样使用该动态库中的CYourDLLDlg
      

  14.   

    c:\program files\microsoft visual studio\myprojects\bluedll5_1\bluecommdlg.h(23) : error C2065: 'IDD_BLUECOMM_DIALOG' : undeclared identifier
    那对于这类错误怎么处理啊在你的CYourDLLDlg头文件中加入#include "resorcr.h"
      

  15.   

    c:\program files\microsoft visual studio\myprojects\bluedll5_1\bluecommdlg.h(23) : error C2065: 'IDD_BLUECOMM_DIALOG' : undeclared identifier
    那对于这类错误怎么处理啊在你的CYourDLLDlg头文件中加入#include "resource.h"