hBitmap应该是空的。在CreateDIBitmap函数的Re里说明:Windows 95/98: The created bitmap cannot exceed 16MB in size大图像都不用这种方式的。尤其系统资源不多的时候更不行,你可以找一个高档的计算机上试试,按理论还是可以的,因为还差一点才16M

解决方案 »

  1.   

    我以前也这样做过,在win2000下面作的时候,也是宽度超过一定就
    创建失败。因此建议你看MSDN sample DIBLOOK,它使用了stretchBlt
    函数,这个函数多大的位图都能够显示。我用过显示110M的位图,一点问题
    都没有。
      

  2.   


    ”最后对其显示:“
    后面的代码改成:
    ::StretchDIBits(dc.m_hDC,0,0,hbmpinfoheader.biWidth,hbmpinfoheader.biHeight,0,0,hbmpinfoheader.biWidth,hbmpinfoheader.biHeight,CCDData,(BITMAPINFO*)bmpinfo,DIB_RGB_COLORS,SRCCOPY);