//顯示位元影像//pWnd 顯示視窗指標//rect 顯示地區//bitMapFile 顯示檔案virtual BOOL Draw_Bitmap(CWnd *pWnd,CRect rect,LPCTSTR bitMapFile);virtual BOOL Draw_Bitmap(CWnd *pWnd,CRect rect,UINT IDB_BITMAP) {return(Draw_Bitmap(pWnd,rect,MAKEINTRESOURCE(IDB_BITMAP)));}bool Draw_Bitmap(CWnd *pWnd, CRect rect, LPCTSTR bitMapFile){ BOOL ret = FALSE; if(pWnd && pWnd->m_hWnd) //視窗有效 { CDC *pDC = pWnd->GetDC(); //擷取裝置 int savDC = pDC->SaveDC(); //儲存裝置 CBrush FillBrush(RGB(0,0,0)); //填充背景 pDC->FillRect(rect,&FillBrush); CBitmap m_bmp; if(m_bmp.LoadBitmap(bitMapFile)) //載入位元影像 { CDC memDC; //建立記憶體裝置 memDC.CreateCompatibleDC(pDC); CBitmap *pBitmap = memDC.SelectObject(&m_bmp); //選中位元影像對象 pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),&memDC,0,0,SRCCOPY);//繪製位元影像 memDC.SelectObject(pBitmap);//恢複對象 m_bmp.DeleteObject(); //刪除位元圖 ret = TRUE; } pDC->RestoreDC(savDC); //恢複裝置 } return(ret);}