zhangzheng232 发表于 2016-3-27 17:58:40

关于LoadImage函数的问题

本帖最后由 zhangzheng232 于 2016-3-27 17:59 编辑

BOOL LoadImages()
{
        HBITMAP hBmp;
        BITMAP bm;
        TCHAR szFileName;
        WCHAR tmp;
        int i;
       
        for (i = 0; i < BMP_CNT; i++)
        {
                memset(szFileName, 0, MAX_PATH);
                wsprintf(szFileName, L"F:\\src\\%d.bmp", i + 1);
                hBmp = (HBITMAP)LoadImage(NULL, szFileName, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE | LR_CREATEDIBSECTION);
                if (hBmp == NULL)
                {
                        wsprintf(tmp, L"Error Code:%d", GetLastError());
                        MessageBox(NULL, tmp, L"Error", MB_OK);
                        return FALSE;
                }
                GetObject(hBmp, sizeof(bm), &bm);
                g_sizeBmps.x = bm.bmWidth;
                g_sizeBmps.y = bm.bmHeight;

                g_hdcBmps = CreateCompatibleDC(g_hdc);
                SelectObject(g_hdcBmps, hBmp);

                DeleteObject(hBmp);
        }
        return TRUE;
}
我的目的是依次读出位于F盘下src目录中的1.bmp~4.bmp
但LoadImage每次都返回NULL,更奇怪的是GetLastError()每次都返回0
然后我把szFileName直接写成绝对路径,还是一样的错误
我使用的是vs2013,请问大家这该怎么处理啊

freeparty 发表于 2016-3-27 22:55:58

http://baike.baidu.com/link?url=WYrX2shklAFfw-PovCyOA6ZQX2Ofz9f-7NcrAYAhlwLl947n0n3D8pYB9dZ0M1kspfMoQX5K2rrEOoC-iD0Fpa

需要装载外部图象时好像第一个参数不能为null

zhangzheng232 发表于 2016-3-29 19:12:06

freeparty 发表于 2016-3-27 22:55
http://baike.baidu.com/link?url=WYrX2shklAFfw-PovCyOA6ZQX2Ofz9f-7NcrAYAhlwLl947n0n3D8pYB9dZ0M1kspfMo ...

不对啊,MSDN上有这么一句啊:
To load a stand-alone resource (icon, cursor, or bitmap file)—for example, c:\myimage.bmp—set this parameter to NULL.

https://msdn.microsoft.com/en-us/library/windows/desktop/ms648045%28v=vs.85%29.aspx

freeparty 发表于 2016-3-29 19:50:40

zhangzheng232 发表于 2016-3-29 19:12
不对啊,MSDN上有这么一句啊:
To load a stand-alone resource (icon, cursor, or bitmap file)—for e ...

加载外部图像时第一个参数得给NULL,内部图像才用instance,我搞错了,还有你加载的是不是一个标准位图文件呢,LoadImage只可以用来加载位图的。

zhangzheng232 发表于 2016-3-29 20:14:27

freeparty 发表于 2016-3-29 19:50
加载外部图像时第一个参数得给NULL,内部图像才用instance,我搞错了,还有你加载的是不是一个标准位图文 ...

F:\src\1.bmp
我用的图像是用画图程序剪切后转化成bmp的

zhangzheng232 发表于 2016-3-29 20:16:26

freeparty 发表于 2016-3-29 19:50
加载外部图像时第一个参数得给NULL,内部图像才用instance,我搞错了,还有你加载的是不是一个标准位图文 ...

F:\src\1.bmp
我用的图像是用画图程序剪切后转化成bmp的

freeparty 发表于 2016-3-29 21:32:28

zhangzheng232 发表于 2016-3-29 20:16
我用的图像是用画图程序剪切后转化成bmp的

我这边没有环境,不然的话帮你测试一下,你不如去群里找人测试一下。

zhangzheng232 发表于 2016-3-31 09:03:05

freeparty 发表于 2016-3-29 21:32
我这边没有环境,不然的话帮你测试一下,你不如去群里找人测试一下。

好的,谢谢,我再去试试!{:5_91:}

结局 发表于 2016-4-8 14:35:07

{:5_91:}

zhouxcpython 发表于 2016-5-30 10:33:24

感谢分享

ONLY123 发表于 2016-6-15 20:09:18

顶顶顶~
页: [1]
查看完整版本: 关于LoadImage函数的问题