我用的是VC的向导 (不是MFC的)生成DLL 我想使用对话框 但不知道怎么加资源 我的步骤是:新建一个RESOURCE 然后加到RESOURCE的文件加  然后插入一个资源 (DIALOG) 再CLASSWIZAED 这样就出现一个类 但这个类需要RESOURCE。H 我找不到我想问问正确的方法

解决方案 »

  1.   

    在 DLL 中使用资源,要注意确保资源句柄指向 DLL。使用下面两个函数即可。void get_DLL_resource()                          // 在调用资源前使用
    {
        if (resource_counter == 0)
        {
            save_hInstance = AfxGetResourceHandle(); // save_hInstance 你自己定义
            AfxSetResourceHandle(***DLL.hMoudle);    // ***DLL 是 MFC DLL 定义的
        }    ++resource_counter;
    }void reset_DLL_resource()        // 在第一时间调用,如对话框的初始化函数
    {
        if (resource_counter > 0)
            --resource_counter;    if (resource_counter == 0)
            AfxSetResourceHandle(save_hInstance);
    }
      

  2.   

    HINSTANCE save_hInstance;static AFX_EXTENSION_NOUDLE ***DLL;
    extern "C" int APIENTRY DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID)
    {
        if (dwReason == DLL_PROCESS_ATTACH)
        {
            if (!AfxInitExtensionMoudle(***DLL, hInstance))
                return FALSE;
        }    return TRUE;
    }