0

我在将位图图像添加到静态控制框时遇到问题,当我运行程序时出现未处理的异常。这是我的代码。

从 RC 文件:

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++

4

1 回答 1

2

您正在传递,LR_LOADFROMFILE但第二个参数不是文件名。删除该标志。

于 2012-08-08T23:54:29.813 回答