MFC绘图控制
1.显示位图
步骤:(1)创建位图: 两种方法1.加载已有位图;2.CreateCompatibleBitmap
(2)创建兼容DC (3)将位图选入兼容DC (4)将兼容DC中的位图复制到当前DC中
void CMy0406View::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: Add your message handler code here
CBitmap bmp;
bmp.LoadBitmap(IDB_BITMAP1);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(&dc);
dcCompatible.SelectObject(&bmp);
CRect rect;
GetClientRect(rect);
//dc.BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
BITMAP bitmap;
bmp.GetBitmap(&bitmap);
dc.StretchBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcCompatible,0,0,bitmap.bmWidth,bitmap.bmHeight,SRCCOPY);
// Do not call CView::OnPaint() for painting messages
}
注意:1.CreateCompatibleBitmap是创建与当前DC兼容的位图,因此第一个参数应该是当前DC的指针,而不是兼容DC。
2.兼容DC实际上是一块内存,所以利用它绘制的图形在窗口中是看不到的,因此要将该DC中的内容复制到目的DC中,从而实现图形的显示。