用VC把 圖片做成獨立的 DLL的方法

用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中的輸出函數了

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章