BOOL DrawDib(CDC *pDC, CPoint point, int nWidth, int nHeight)
{
//旧的调色板句柄
HPALETTE hOldPal=NULL;
//如果DIB为空,则返回0
if(m_pImgData == NULL) //m_pImgData是位图数据
return FALSE;
//如果DIB有调色板,则选进设备环境中
if(m_hPalette != NULL)
hOldPal=::SelectPalette(pDC->GetSafeHdc(), m_hPalette, TRUE);
//设置位图伸缩模式
pDC->SetStretchBltMode(STRETCH_DELETESCANS);
//将DIB在pDC所指向的设备上进行显示
::StretchDIBits(pDC->GetSafeHdc(), point.x, point.y, nWidth, nHeight,
0, 0, m_imgWidth, m_imgHeight,m_pImgData,
(LPBITMAPINFO) m_lpBmpInfoHead, DIB_RGB_COLORS, SRCCOPY);//m_lpBmpInfoHead是位图信息头
//恢复旧的调色板
if(hOldPal!=NULL)
::SelectPalette(pDC->GetSafeHdc(), hOldPal, TRUE);
//函数返回
return TRUE;
}
若是对话框的,就在OnPaint上调用
文档的,就在OnDraw上调用
自己试试吧