//我们在进行贴图的时候需要将背景擦除 贴图之后我们返回TRUE告诉操作系统已经擦出了背景 如果调用基类的OnEraseBKknd那么
//我们的贴图会被再次擦除就看不到贴图了
//在对向指定设备拷贝位图之前 我们先要在内存中准备位图 我们创建一个和目的DC兼容的兼容DC 并且将位图选择到 兼容DC然后进行拷贝
//返回TRUE我们不擦背景直接贴 那么不会出现闪烁
/*BOOL CBitBltView::OnEraseBkgnd(CDC* pDC)
{
CDC dcCompatible; //创建和目的DC兼容的兼容DC
dcCompatible.CreateCompatibleDC(pDC); //与pDC兼容
CBitmap bit; //CBitmap类对象
bit.LoadBitmap(IDB_BITMAP1); //加载位图资源
dcCompatible.SelectObject(&bit); //选择到兼容设备进行内存准备 内存中的位图是 1*1像素
CRect rect; //CRect对象
GetClientRect(&rect); //获得客户区域大小
pDC->BitBlt(rect.left,rect.top,rect.Width(),rect.Height(),&dcCompatible,0,0,SRCCOPY); //拷贝
return TRUE;
}*/
BOOL CBitBltView::OnEraseBkgnd(CDC* pDC)
{
CDC dcCompatible; //创建和目的DC兼容的兼容DC
dcCompatible.CreateCompatibleDC(pDC); //与pDC兼容
CBitmap bit; //CBitmap类对象
bit.LoadBitmap(IDB_BITMAP1); //加载位图资源
BITMAP p; //BITMAP结构体定义
bit.GetBitmap(&p);//获得位图的 BITMAP结构体信息
dcCompatible.SelectObject(&bit); //选择到兼容设备进行内存准备 内存中的位图是 1*1像素
CRect rect; //CRect对象
GetClientRect(&rect); //获得客户区域大小
pDC->StretchBlt(0,0,rect.Width(),rect.Height(),&dcCompatible,0,0,p.bmWidth,p.bmHeight,SRCCOPY); //创建位图按照位图的尺寸
return TRUE; //表示不擦出背景
}
分享到:
相关推荐
MFC单文档应用程序基础训练——文本输出、绘图等
MFC单文档应用程序实例
提供在单文档应用程序视图区嵌入对话框的方法
利用MFC单文档制作的一个简单的画图软件
MFC与数据库SQL连接建立MFC单文档应用程序,在程序中新建一个对话框,作为登陆对话框,在SQL中进行配置,基于C++语言,进行编程,可通过登陆名与密码进入系统.zip
这篇文档详细讲述了如何在MFC单文档程序中添加全屏显示的功能
MFC单文档程序做的小绘图程序,实现了对图形的选中、反选、移动、删除,构造函数留有改变颜色,线型线宽接口,可自行完善,刚学MFC时做的,对新手有较大参考价值
MFC单文档程序编写的连连看程序,还有很多瑕疵,供大家参考
跟踪整理的单文档应用程序创建过程微软提供的源码,希望对初学者有用
用来讲解c++的MFC之中如何进行画刷,画笔的设置和使用.还有画笔的类型的改变
MFC多文档应用程序同时显示两个视图,通过创建多个CMultiDocTemplate* 进行实现
控制了窗口的大小当拖动窗口缩小的添加的空间大小时,窗口不会再缩小了,实现了formview dialog对话框的布局,还有就是点击菜单项切换界面,
一个单文档应用程序,在视图窗口中显示3个圆,通过使用不同颜色的画笔及画刷来模拟交通红绿灯。
Q756748.zip 用VS2010MFC做一道可视化题目设计单文档窗口程序,满足以下要求 https://ask.csdn.net/questions/756748 用VS2010 MFC .设计单文档窗口程序,满足以下要求: (1)带有快捷菜单,包括Line、Ellipse、...
1.静态菜单:画圆,画矩形。 (1)要求点击各菜单项后弹出相应对话框,并在对话框中指定所画图形的大小(输入)、线条颜色(下拉框选择)、背景颜色(下拉框选择); (2)然后在工作区实现相应的画图功能。...
利用MFC,创建单文档,在图形界面显示一个矩形,可以移动和改变大小
代码主要目的建立一个单文档应用程序,用菜单弹出对话框
MFC单文档应用程序练习ok.doc
\MFC单文档制作通讯录.zip
用VS2010 Win32项目空项目搭建MFC SDI程序