界面加载位图
来源:互联网 发布:python string转list 编辑:程序博客网 时间:2024/06/07 00:23
新建一个单文档的MFC工程
复制一张位图至项目文件的res文件夹中
在项目工作区资源视图中"import'资源文件夹中的位图,ID为:IDB_BITMAP1
在View类的OnDraw函数中代码如下:
void CGrapView::OnDraw(CDC* pDC)
{
CGrapDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
//1.加载位图
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
//定义BITMAP结构类型的对象
BITMAP bmp;
//将当前位图的信息放入到位图结构体对象中
bitmap.GetBitmap(&bmp);
CDC dc;
//2.创建和当前pDC兼容的DC
dc.CreateCompatibleDC(pDC);
//3.将位图选入DC
dc.SelectObject(&bitmap);
//4.将dc中的位图拷贝到目的dc
CRect rect;
GetClientRect(&rect);
//原图大小1:1拷贝
pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,SRCCOPY);
//充满客户区大小拷贝
//pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dc,0,0,
bmp.bmWidth,bmp.bmHeight,SRCCOPY);
// TODO: add draw code for native data here
}
贴图时会先擦除背景,也可以在OnEraseBkgnd()消息响应函数中实现
效果更好,改变窗体大小时闪烁要好些
BOOL CGraphicView::OnEraseBkgnd(CDC* pDC)
{
// TODO: Add your message handler code here and/or call default
CBitmap bitmap;
bitmap.LoadBitmap(IDB_BITMAP1);
BITMAP bmp;
bitmap.GetBitmap(&bmp);
CDC dcCompatible;
dcCompatible.CreateCompatibleDC(pDC);
dcCompatible.SelectObject(&bitmap);
CRect rect;
GetClientRect(&rect);
// pDC->BitBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY);
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,
0,0,bmp.bmWidth,bmp.bmHeight,SRCCOPY);
return TRUE; //要返回TRUE
// return CView::OnEraseBkgnd(pDC); //这里要注释掉
}
阅读全文
0 0
- 界面加载位图
- 加载位图
- 加载位图
- 位图加载
- 从文件加载位图
- 加载位图VC++
- 加载显示位图
- 加载位图 LoadBitmap
- 纸牌位图的加载
- toolbar加载位图
- picture控件 加载位图
- 加载显示位图
- 从文件加载位图
- 加载位图,获得bitmapData
- 按钮加载位图
- MINI GUI 加载位图
- MFC加载位图背景
- MFC位图加载
- 关于linux上安装nginx服务器,win10中IE不能访问,谷歌可以访问的问题
- U盘中毒后,手把手教你恢复文件
- Android ViewPager切换动画PageTransformer
- QT日常代码三
- shell 脚本为php 执行订单过期接口
- 界面加载位图
- Linux关于时间同步命令
- [leetcode]312. Burst Balloons
- [SpringMVC] SpringMVC介绍
- Java高级特性之一动态代理
- 现代OpenGL教程-lesson1
- 安卓高级控件之ViewPager
- 设计模式笔记——桥接者模式
- 【Python】 Missing parentheses in call to 'print'