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

转载于:https://www.cnblogs.com/shiney/archive/2012/04/06/2434133.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值