ATL中为什么不能使用MAKEINTRESOURCE函数
各位高手们,请教你们一个问题。希望大家能不吝赐教。
我使用VS2008开发一个ATL程序。我事先加载了一个bmp资源在里面。其ID号为IDB_BITMAP,我想通过使用MAKEINTRESOURCE函数来加载这个bmp资源。编译时没有任何问题,但进入调试状态后,在监视窗口查看MAKEINTRESOURCE(IDB_BITMAP)时,显示说“CXX0017:错误:没有找到符号IDB_BITMAP”。在监视窗口查看MAKEINTRESOURCE(201)时,显示说“CXX0017:错误:没有找到符号“MAKEINTRESOURCE””。其中,201是IDB_BITMAP对应的值。
请问各位,这是什么原因啊?
[解决办法]
一,include <windows.h>
二,include "resouse.h"
[解决办法]
不要去监视 MAKEINTRESOURCE(IDB_BITMAP)
这样的
LPTSTR str = MAKEINTRESOURCE(IDB_BITMAP);
监视 str的值试试
另外“我想通过使用MAKEINTRESOURCE函数来加载这个bmp资源”
这个怎么说?bmp资源是用LoadBitmap来加载的
The MAKEINTRESOURCE macro converts an integer value to a resource type compatible with the resource-management functions. This macro is used in place of a string containing the name of the resource.
[解决办法]
#define MAKEINTRESOURCE(i) (LPTSTR) ((DWORD) ((WORD) (i)))
[解决办法]