C++:MFC将位图显示在界面上的是哪个函数?Ondraw还是CClientDC?
3个回答
2013-12-02
展开全部
你搞混了,CClientDC是设备DC环境,里面包含一些设备的显示信息。显示图片得用函数。
可以 用BitBlt函数将位图贴到设备上
可以 用BitBlt函数将位图贴到设备上
2013-12-02
展开全部
//首先获取客户区的dc
CClientDC dc(this);
//创建兼容内存dc
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
//定义两个CBitmap
CBitmap bmpMem, *pOldMemBmp;
//加载位图资源
bmpMem.LoadBitmap(IDB_BITMAP);
//获取位图信息
BITMAP bmpinfo;
bmpMem.GetBitmap(&bmpinfo);
//将位图资源选到内存DC中
pOldMemBmp = dcMem.SelectObject(&bmpMem);
//将位图从内存DC中贴到客户区DC中
dc.BitBlt(0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,&dcMem,0,0,SRCCOPY);
//到这里客户区就能显示那种ID为IDB_BITMAP的位图了
//还原位图,释放资源
dcMem.SelectObject(pOldMemBmp);
dcMem.DeleteDC();//如果你想按一下按钮实现显示一张位图,可以种按键的消息响应函数中把上面的代码贴上去就行了
CClientDC dc(this);
//创建兼容内存dc
CDC dcMem;
dcMem.CreateCompatibleDC(&dc);
//定义两个CBitmap
CBitmap bmpMem, *pOldMemBmp;
//加载位图资源
bmpMem.LoadBitmap(IDB_BITMAP);
//获取位图信息
BITMAP bmpinfo;
bmpMem.GetBitmap(&bmpinfo);
//将位图资源选到内存DC中
pOldMemBmp = dcMem.SelectObject(&bmpMem);
//将位图从内存DC中贴到客户区DC中
dc.BitBlt(0,0,bmpinfo.bmWidth,bmpinfo.bmHeight,&dcMem,0,0,SRCCOPY);
//到这里客户区就能显示那种ID为IDB_BITMAP的位图了
//还原位图,释放资源
dcMem.SelectObject(pOldMemBmp);
dcMem.DeleteDC();//如果你想按一下按钮实现显示一张位图,可以种按键的消息响应函数中把上面的代码贴上去就行了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-12-02
展开全部
重载OnDraw或者OnPaint事件,然后使用CClientDC把位图显示出来
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询