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中,从而实现图形的显示。

posted @ 2012-04-06 10:09  shiney  阅读(426)  评论(0编辑  收藏  举报