zoukankan      html  css  js  c++  java
  • vc 制作图片资源dll

    方法一: 使用纯WIN32 DLL方法封装纯资源
    第一步,通过VS2005建立WIN32 DLL 空工程
    第二步,设置配置属性->链接器->高级->无入口点(是/NOENTRY)
    设置配置属性->C/C++->代码生成->运行时库(多线程/MT)
    第三步,加入图片资源并定义资源名称
    第四步,生成DLL,如Skin.DLL
    第五步,调用方法例子
    HINSTANCE hLibrary; 
    if ((hLibrary = LoadLibrary (TEXT ("skin.DLL"))) == NULL) 
    {
    MessageBox ( TEXT ("Can't load skin.DLL."), TEXT("Error"), 0) ; 
    }

    CBitmap *m_pBitmap = new CBitmap();
    hBitmap = LoadBitmap (hLibrary, MAKEINTRESOURCE (IDB_BK_DIALOG_MAIN)); 
    m_pBitmap->Attach(hBitmap);
    FreeLibrary(hLibrary );

    方法二使用: MFC DLL封装
    第一步,建立MFC DLL项目
    第二步增加 输出函数
    extern "C" __declspec(dllexport) HBITMAP WINAPI 
    LoadBitmapFromResource(long nResourceID); 

    HBITMAP WIANPI LoadBitmapFromResource(long nResourceID){ 
    return LoadBitmap(theApp.m_hInstance,MAKEINTRESOURCE(nID)); 

    第三步 加入资源和
    第四步 生成DLL,和对应的Lib如,skin.dll和skin.lib
    第五步调用,拷贝skin.dll和skin.lib到自己的工程,在工程中加入skin.lib之后
    此时可使用LoadBitmapFromResource()来隐式的调用skin.dll中的输出函数了

    、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

    ===========================================================================================================================

    ==========================================================================================

  • 相关阅读:
    混合式应用开发之AngularJS ng-repeat数组有重复值的解决方法
    混合式应用开发之串口通讯(2)
    混合式应用开发之串口通讯(1)
    第一篇博客
    win10出现"本地计算机上的MySQL57服务启动后停止"
    彻底区分html的attribute与dom的property
    Angularv4入门篇1
    node开发后将本地mysql数据导入到服务器mysql
    weex入门
    Color.js 方便修改颜色值
  • 原文地址:https://www.cnblogs.com/lidabo/p/3701239.html
Copyright © 2011-2022 走看看