我在将一个位图图像添加到静态控制框时遇到问题,当我运行我的程序时,我得到了一个未处理的异常。这是我的代码。
FROM RC FILE:
ID_ICON1 BITMAP "icon1.bmp"
CPP文件:
HANDLE bIcon1;
HWND hIcon;
hIcon = CreateWindowEx(0, "Static", NULL, WS_CHILD | WS_VISIBLE|SS_BITMAP, 250, 100, 100, 100, hwnd, NULL, GetModuleHandle(NULL), NULL);
bIcon1 = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_ICON1), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_DEFAULTSIZE);
如果我使用完整路径,我没有得到错误,bmp显示正确:
bIcon1 = LoadImage(GetModuleHandle(NULL), "c:\\icon1.bmp", IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_DEFAULTSIZE);
感谢您的帮助:)
编辑: 异常的一行就是这一行:
bIcon1 = LoadImage(GetModuleHandle(NULL), MAKEINTRESOURCE(ID_ICON1), IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE| LR_DEFAULTSIZE);
消息异常是: windows2.exe中0x7768e41b处的未处理异常:0xC0000005:访问冲突读取位置0x000001f4。
windows2.exe!WndProc(HWND__ * hwnd,unsigned int msg,unsigned int wParam,long lParam)第153行+ 0x27字节C ++
答案 0 :(得分:2)
您正在传递LR_LOADFROMFILE
,但第二个参数不是文件名。删除那个标志。