【新手】关于LoadImage加载位图有时候得不到句柄的有关问题

【新手求助】关于LoadImage加载位图有时候得不到句柄的问题
问题描述:
新手,为了练手写了个简单的2048小游戏。编译完成后游戏可以正常运行,但是若干步以后就会出现错误(每次都在出现512之后几步)。表现为:LoadImage函数返回空的句柄。
我的代码:

CStatic* pPicCtrl;
HBITMAP hBmp;
for (int i = 0; i < 4; i++)
{
for (int j = 0; j < 4; j++)
{
int item = numMap(m_Matrix(i, j));
pPicCtrl = (CStatic*)GetDlgItem(matrixMap[i][j]);
hBmp = (HBITMAP)LoadImage(AfxGetResourceHandle(), MAKEINTRESOURCE(picMap[item]), IMAGE_BITMAP, 0, 0, LR_LOADMAP3DCOLORS);
pPicCtrl->SetBitmap(hBmp);
}
}
DeleteObject(hBmp);

问题出在hBmp=(HBITMAP)LoadImage上,返回空的句柄(断点后查看hBmp无法读取内存)
其中int picMap[12]={129~140},是12张图片的ID。
断点进去看后发现picMap[item]得到的ID是正确的,但是返回的却是错误的(空的)句柄,这是为什么?

表述可能不太清楚,我是新手,不太好表述。。谢谢大家!
------解决方案--------------------
你在循环内最好LoadImage前,先判断hBmp是否为空,不为空就要先DeleteObject释放,否则占用大量资源
------解决方案--------------------
引用:
你在循环内最好LoadImage前,先判断hBmp是否为空,不为空就要先DeleteObject释放,否则占用大量资源

同上,你的程序有很多内存泄露。

另外,你可以在失败的地方用GetLastError函数看看返回值是什么?就知道出现的是什么错误。