设置VC对话框背景图

设置VC对话框背景图

  VC对话框默认的灰度背景实在是不美观,填充背景图成了改善用户界面的一个很好的选择。
  首先在资源视图中添加一个位图资源,如命名为IDB_BMPBK。
  在对话框中添加OnEraseBkgnd()事件处理函数,用于擦除背景进行重绘。其中添加的代码如下:
BOOL DialogClass::OnEraseBkgnd(CDC* pDC)
{
//创建内存DC
CDC MemDC;
//CBitmap对象
CBitmap Bitmap,*pOldBitmap;
//BITMAP句柄
BITMAP bm;
//加载位图
Bitmap.LoadBitmap(IDB_BMPBK);
//将位图资源与句柄绑定
Bitmap.GetObject(sizeof(BITMAP),&bm);
//创建与内存兼容的DC
MemDC.CreateCompatibleDC(pDC);
//替换原位图
pOldBitmap=(CBitmap*)(MemDC.SelectObject(&Bitmap));
//获取绘制的区域
CRect rcClient;
GetClientRect(&rcClient);
//绘制到客户区
pDC->BitBlt(0,0,rcClient.Width(),rcClient.Height(),&MemDC,0,0,SRCCOPY);
MemDC.SelectObject(pOldBitmap);
MemDC.DeleteDC();
return TRUE;
}
默认生成的OnEraseBkgnd()处理函数会有调用基类的处理函数然后再返回结果,要注意把这一句直接删除,然后直接返
TRUE。
分享至
一键收藏,随时查看,分享好友!
0人
了这篇文章
类别: MFC┆阅读( 0)┆评论( 0) ┆ 返回博主首页┆ 返回博客首页
上一篇 C++ 代码覆盖率工具Bullseye Coverage 下一篇 使用Visual C++6.0编一个超简单的CD播放器

你可能感兴趣的:(职场,VC,休闲)