【发布时间】:2020-11-26 22:05:27
【问题描述】:
我在 Windows CE 2013 上使用 C++ 开发应用程序。
我想从文件中加载位图并在屏幕上显示。
问题是LoadImage() 函数总是返回NULL。
HDC hdcOkno;
hdcOkno = GetDC(hWnd);
HBITMAP hbmObraz;
hbmObraz = (HBITMAP)LoadImage(NULL, L"C:\\Users\\tykab\\OneDrive\\Pulpit\\bitmapy\\background_blue.bmp", IMAGE_BITMAP, 0, 0, NULL);
BITMAP bmInfo;
GetObject(hbmObraz, sizeof(bmInfo), &bmInfo);
BitBlt(hdcOkno, 50, 50, bmInfo.bmWidth, bmInfo.bmHeight, hdcOkno, 0, 0, SRCCOPY);
【问题讨论】:
-
用
GetLastError()检查所有这些函数调用的结果。 -
函数返回错误1814
-
是ERROR_RESOURCE_NAME_NOT_FOUND,但我定义的路径是正确的。
-
@BartłomiejTyka 那是因为您没有指定
LR_LOADFROMFILE标志,因此您的字符串被解释为资源名称而不是文件路径,并且您指定的资源名称确实不存在。
标签: c++ winapi visual-studio-2013 bitmap windows-ce