???????资源DLL中BMP图像的资源名称在哪里设定,我如何在用::LoadBitmap()函数调用?
我按照一位大虾写的:纯资源DLL的编写
//---------------------------------------------------------------
下面的例子是一个纯资源DLL的源程序
纯资源的DLL就是只包含资源的DLL,例如:图标,位图,字符串,声音,视频,对话框等。使用纯资源DLL可以节约可执行文件的大小,可以被所有的应用程序所共享,从而提高系统性能。纯资源DLL的编写比普通的DLL要简单的多,首先创建一个WIN32 DLL工程,不是MFC的DLL,然后创建一个资源文件 *.RC,添加到资源DLL的工程中去。然后添加一个初始化DLL的原文件。
#include <windows.h>
extern "C"
BOOL WINAPI DllMain( HINSTANCE hInstance, DWORD dwReason, LPVOID )
{
return 1;
}
这是纯资源DLL所必须需的代码,保存这个文件为*.CPP。编译这个资源DLL。
在应用程序显示的调用这个DLL,使用LoadLibrary函数装入资源DLL,FindResource和LoadResource来装入各种资源,或者使用下列的特定的资源装入函数:
FormatMessage
LoadAccelerators
LoadBitmap
LoadCursor
LoadIcon
LoadMenu
LoadString
当资源使用结束,你的应用程序须调用FreeLibrary函数来释放资源。
下面就讲一下如何调用编写好的资源DLL
首先在应用程序中声明一个DLL的句柄,HINSTANCE m_hLibrary;在OnCreate( )函数中调用LoadLirbrary( ),在OnDestory( )中调用FreeLibrary()。
//-------------------------------------------------------------
可是我在创建资源DLL中没有找到在哪里设置资源名称,使得我在调用LoadBitmap()时,
HINSTANCE hMod;
VERIFY(hMod=::LoadLibrary ("Resource.dll"));
if(hMod==NULL)
MessageBox("加载动态链接库失败!");
HBITMAP hBmp=::LoadBitmap(hMod,"13-1.bmp");
DWORD err=GetLastError();
无法调用指定的BMP资源,err=1814(找不到映像文件中指定的资源名)。请大虾们指点一二,多谢!