MFC 插入位图的问题

原先有一个位图背景,想要在上面再(x,y)处华商一个小的位图,但是原来的位图不消失,如何在ondraw里写代码?voidCSeuMarketView::OnDraw(CD... 原先有一个位图背景,想要在上面再(x,y)处华商一个小的位图,但是原来的位图不消失,如何在ondraw里写代码?
void CSeuMarketView::OnDraw(CDC* pDC)
{
CSeuMarketDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
if (!pDoc)
return;

// TODO: 在此处为本机数据添加绘制代码
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_huacheng);
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap * OldBitmap = MemDC.SelectObject(&Bitmap);
BITMAP bm;
Bitmap.GetBitmap(&bm);
CBitmap Bitmap;
Bitmap.LoadBitmap(IDB_Button2);
CDC MemDC;
MemDC.CreateCompatibleDC(pDC);
CBitmap * OldBitmap = MemDC.SelectObject(&Bitmap);
BITMAP bm;
Bitmap.GetBitmap(&bm);

}
展开
 我来答
bhtzu
2014-09-17 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8088
采纳率:85%
帮助的人:4238万
展开全部
OnDraw里面,按照代码顺序,后画的在先画的上面覆盖。如果只是需要绘制顺序,那么注意代码顺序就可以了。
“原来的位图不消失” 这个提问有些模糊。如果需要透明,用AlphaBlend函数绘制,如果要指定透明色,用TransparentBlt绘制,如果要颜色运算,用BitBlt的最后一个参数指定(SRCCOPY那个改成其它)即可。
更多追问追答
追问
我是写了先绘制一个位图,再绘制另一个。但是显示的时候第一个位图没有显示出来,只显示了第二个。
追答
拿代码说话吧,如果第二个没有完全覆盖第一个,除非有别的问题,否则两个都应该显示。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式