您的位置:首页 > 其它

vc 制作图片资源dll

2013-04-07 13:51 197 查看
方法一: 使用纯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中的输出函数了

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





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

===========================================================================================================================
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: