有LoadBitmap加载资源文件里面的位图结果返回空句柄,用GetLastError查看错误结果是ERROR 87,参数不正确,但如果定义图标资源可以正确加载,求高人指点
.RC文件
#include "resource.h"
ICO   ICON "MAIN.ICO"
BMP         BITMAP   "1.bmp"
resource.h
#define BMP 1
#define ICO 2
.CPP文件(有incllude"resoruce.h")
在WM_CREATE里面加载位图
case WM_CREATE:
hBitmap=LoadBitmap(g_hInstance,MAKEINTRESOURCE(BMP));
error1=GetLastError();
LoadIcon(g_hInstance,MAKEINTRESOURCE(ICO));
error2=GetLastError();
break;
error1=87,error2=0

解决方案 »

  1.   

    首先:
    确保你的位图不是通过简单的修改文件扩展名就从其他格式的图片得到的,如果直接修改:1.jpg -> 1.bmp
    然后你的位图是不是太大了,换一副小一点的
      

  2.   

    应该是:
    IDB_82D BITMAP  DISCARDABLE     "res\\bmp82d.bmp"
      

  3.   

    检查下g_hInstance值是否正确
    是否赋值了?
      

  4.   

    在得到hInstance地方加判断,看是否为空,是否有效
      

  5.   

    已经解决了,应该是LoadBitmap不能加载32位位图,用画图保存为24位就可以了