当前位置: 首页 > 图文教程 > 开发语言 > VC++ > 改变视图单调的背景

VC++
在类VC的界面实现中加入目录树
软件换肤技术在 BCB 中的实现
利用非模窗口生成MDI介面
报表输出轻松搞定
Windows 中不规则窗体的编程实现
解说Win32的窗口子类化
使用测试优先方法开发用户界面
一个简单的登录对话框的实现
一个简单的日记本程序
从资源中加载皮肤
一个在RichEdit中添加表情图象的类
ActiveSkin 4.3 软件换肤在VC中的实现
一种另类“关于(About)”对话框的动态显示方法
对话框打印预览及打印
关于如何换肤、子类化的解决方案
制作 MSN、QQ 的消息提示窗口
如何对 BCGControlBarPro 进行换肤
定制个性化的对话框窗口类
改变窗口中的光标形状
更新MFC中的视图,跟踪.NET Framework中的事件

VC++ 中的 改变视图单调的背景


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-30   浏览: 51 ::
收藏到网摘: n/a

改变视图单调的背景
作者:guodahai

下载代码工程

我们在用Visual C++写程序时,会看到她自动产生的界面背景非常的单调,我们可以自己来改变这个问题来实现美丽的背景,希望本文对初学者有所帮助。

本文代码运行效果图如下

下面来跟我做:

1.首先准备好一张美丽的图片,保存为BMP格式。

2.新建一个工程,命名为:test ,在资源编辑里用Import导入刚才准备好的位图文件.ID为IDB_BITMAP
如果位图是大于16色的,会出现无法显示的提示。不要紧,这并不影响程序最终的显示。

3.代码实现

3.1 我们为CTestView类添加一个变量 CBrush m_brushBackground;这个画刷就是用于画背景的。
3.2 我们在CTestView的构造函数中加入如下代码:

	CBitmap bmp;	bmp.LoadBitmap(IDB_BITMAP); ///加载位图 m_brushBackground.CreatePatternBrush(&bmp);	///创建位图画刷
3.3 接着我们需要在OnDraw函数中画出来,代码如下:
	CRect rect;	GetClientRect(rect);///取得客户区域 pDC->FillRect(rect,&m_brushBackground); ///用背景画刷填充区域
3.4 为了避免背景的闪烁,使显示更加完美,我们添加WM_ERASEBKGND消息的处理函数,并取消调用父类的处理函数,代码如下:
BOOL CTestView::OnEraseBkgnd(CDC* pDC) {	return TRUE;}
接下来,我们就编译运行该程序了,效果不错吧!