首先,抱歉我的英语语法不好..

我正在制作一个拥有大约4000张背景图像的游戏,这些图像显示单个图像并且每100毫秒更改一次 .

我把它放在STL Map 中,但是有多达1000张图像有HBITMAP,但其他图像都有nullptr(那些从034,1035,1036开始的nullptr始终更改) .

我猜测问题来自图像源,所以我改变了显示顺序,但是当它们出现在前面的顺序时,那些有nullptr的HBITMAP显示出来 .

你能问题吗?

1.PNG调用InsertBmp()和2.PNG从InsertBmp调用LoadBmp,3.PNG调用DEBUG结果

void CMyBitmap::LoadBmp(const TCHAR * pFilePath)
{
    HDC hDC = GetDC(g_hWnd);
    m_hMemDC = CreateCompatibleDC(hDC);
    m_hBitmap = (HBITMAP)LoadImage(nullptr, 
    pFilePath, 
    IMAGE_BITMAP, 0, 0,
    LR_LOADFROMFILE | LR_CREATEDIBSECTION);
    m_hOldBitmap = (HBITMAP)SelectObject(m_hMemDC, 
    m_hBitmap);
    DeleteDC(hDC);
}

image

image

image