分享

资源DLL

 禁忌石 2017-03-30
2010-11-18 21:57 811人阅读 评论(0) 收藏 举报
 分类:

      在很多实际场合我们要用到一些图片和图标的资源,我们可以将这些资源以DLL的形式加载运用,不用的时候再释放掉。举个实例:创建一个带BMP位图资源和一个图标资源的资源DLL,然后在一个测试对话框中调用它。

(1)创建DLL

      在VS中新建一个WIN32 Project,名为ResDll,类型为DLL。创建完毕后,在Resources files点击右键添加Resource,点击新建,类型为BMP,即可新建一个有内容的位图资源文件,名为IDB_RESBMP;同样,可以再新建一个ICON,文件名为IDI_RESICON。

      编译该工程,即生成一个名为ResDll.dll的文件,以供测试程序调用。

(2)创建测试调用程序

       在VS中创建一个MFC对话框,上面添加四个按钮,内容分别是:加载DLL,释放DLL,显式图片,显式图标。还要给该对话框类添加一个私有实例(右键点击类名,添加变量),用作动态链接库的标识,HINSTANCE m_hDll。还有将上述两个资源的宏定义ID号在测试工程中同样定义,然后分别给这些按钮添加对应消息函数。

A,加载DLL

void CResTestDlg::OnBnClickedButton1()
{
        m_hDll = LoadLibrary(_T("ResDll.dll"));
        if(m_hDll == NULL)
       {
              AfxMessageBox(_T("LoadLibrary failed"));
       }
}

B,释放DLL

void CResTestDlg::OnBnClickedButton2()
{
       if(m_hDll != NULL)
      {
             FreeLibrary(m_hDll);
       }
}

C,显式位图

D,显式图标

(3)实验

     把生成的DLL文件放到最终生成EXE目录的同一层,运行

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多