比如说,从硬盘中调入一个dib文件,读了相关的头信息,开辟了内存,
然后是否要转换成ddb文件后,才能让ondraw()调用?

解决方案 »

  1.   

    粘贴板可担当此重任;
    比如吧DDB转换成DIB:
    {
    //下面利用炼铁板把DDB转换成DIB
             //先以DDB格式放到粘贴板上
    ::OpenClipboard(m_hWnd); 
    ::EmptyClipboard();
    ::SetClipboardData(CF_BITMAP,bm);
    ::CloseClipboard();
             
             //再以DIB格式取出
    COleDataObject odo;
    odo.AttachClipboard();
    HGLOBAL hDib=odo.GetGlobalData(CF_DIB);
    LPVOID  lpDib=::GlobalLock(hDib);}
      

  2.   

    不需要
    可以调用::StretchDIBits函数可以直接显示
    具体的参数看msdn