下面的代码总是错误,大家试试看,放入OnDraw。 CDC MemDC;
CBitmap MemBitmap;//
const nWidth=300;
const nHeight=197;
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
MemBitmap.LoadBitmap (IDB_1); // 这一句删了就对了!! CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));
MemDC.MoveTo(0,0);
MemDC.LineTo(300,300 );上面那句话删了就对了!不知为何!
pDC->BitBlt(0,0,nWidth,nHeight,&MemBitmap,0,0,SRCCOPY);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
CBitmap MemBitmap;//
const nWidth=300;
const nHeight=197;
MemDC.CreateCompatibleDC(NULL);
MemBitmap.CreateCompatibleBitmap(pDC,nWidth,nHeight);
MemBitmap.LoadBitmap (IDB_1); // 这一句删了就对了!! CBitmap *pOldBit=MemDC.SelectObject(&MemBitmap);
MemDC.FillSolidRect(0,0,nWidth,nHeight,RGB(255,255,255));
MemDC.MoveTo(0,0);
MemDC.LineTo(300,300 );上面那句话删了就对了!不知为何!
pDC->BitBlt(0,0,nWidth,nHeight,&MemBitmap,0,0,SRCCOPY);
MemBitmap.DeleteObject();
MemDC.DeleteDC();
但是还有个问题:CBitmap不能加载外部DIB位图?那如果要显示外部f:\a.bmp ,怎么办?
不要逐点SetPixel!
CBitmap *pBitmap = new CBitmap;
pBitmap = CBitmap::FromHandle(hBitmap);
MemDC.SelectObject(pBitmap);
不要凭想象!