for(i=0;i<100;i++)
{
for (j=0;j<100;j++)
{
beijin[i][j]=(HBITMAP)LoadImage(NULL,"a:\\01.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
SelectObject(MemDC,beijin[i][j]);
BitBlt(dc.m_hDC,i*32,j*32,32,32,MemDC,0,0,SRCCOPY);
}
}

解决方案 »

  1.   

    估计和我的这个问题差不多
    http://community.csdn.net/Expert/TopicView.asp?id=4297690GDI资源不足
      

  2.   

    for(i=0;i<100;i++)
    {
        for (j=0;j<100;j++)
        {
            beijin[i][j]=(HBITMAP)LoadImage(NULL,"a:\\01.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
            HBITMAP hOld = (HBITMAP)SelectObject(MemDC,beijin[i][j]);
            BitBlt(dc.m_hDC,i*32,j*32,32,32,MemDC,0,0,SRCCOPY);
            SelectObject(MemDC, hOld);
            DeleteObject(beijin[i][j]);
        }
    }
    不过你这个位图数组的初始化最好放在其他地方,这样只要装载位图一次就行了。
      

  3.   

    楼上的还是没用啊 是不是资源不足不能创建多个位图对像???这个循环是在OnPaint中的 另一个语句在鼠标按下中OnMouseDown
    beijin[i][j]=(HBITMAP)LoadImage(NULL,"a:\\02.bmp,IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    中不断的改变与增加位图对像 然后在Onpaint中显示出来 这样为什么会程序崩溃?有没解决的方法?
    ---------------------------------------------------------
    注:
    然而 在OnPaint中不加入循环与数组也可 我的程序只希望在窗体上画出我指定的图形。
    beijin=(HBITMAP)LoadImage(NULL,"a:\\01.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    SelectObject(MemDC,beijin);
    BitBlt(dc.m_hDC,i*32,j*32,32,32,MemDC,0,0,SRCCOPY);
    这样也可 但是在画出后 不能刷屏 移动 或遮隐之后 图形就会没有了 请问如何解决?让图形持继刷新.
      

  4.   

    问题找出 不是OnPaint中循环程序所致程序崩溃 而是OnMouseDown中的位图对像创建而导致.
    beijin[i][j]=(HBITMAP)LoadImage(NULL,"a:\\01.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE|LR_CREATEDIBSECTION);
    完全是这句语句导致。不知道为何会这样。请大家帮助一下.