改变视图单调的背景
下载代码工程

1;
我们在用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;
}

接下来,我们就编译运行该程序了,效果不错吧!
 2:

在CMyView中定义CBitmap *m_bitmap;
在CMyView构造函数中加入
m_bitmap =new CBitmap;
m_bitmap->LoadBitmap(IDB_BITMAP1);
然后:
CMyView::OnEraseBkgnd(CDC* pDC) 
{
 CView::OnEraseBkgnd(pDC);
    CDC dcMem;
CClientDC dc(this);
HBITMAP hbit;

dcMem.CreateCompatibleDC(&dc);
hbit = (HBITMAP)dcMem.SelectObject(m_bitmap);

GetDC()->BitBlt(10,10,400,300,&dcMem,0,0,SRCCOPY);
return 0;
}

在单文档窗口中添加背景图片相关推荐

  1. MFC使用OpenCV在文档窗口中显示图像(支持多图片格式)

    MFC使用OpenCV在文档窗口中显示图像     [尊重原创,转载请注明出处]http://blog.csdn.net/guyuealian/article/details/72550659 在VS ...

  2. 单文档工具栏按钮添加文字

    单文档工具栏按钮添加文字 流程 流程 1.创建一个单文档的工程 2.修改MainFrm.cpp,主要是调用SetToolBarBtnText给button加上文字. if (!m_wndToolBar ...

  3. PPT文档幻灯片如何添加背景

    我们在编辑PPT文档时,如何给PPT幻灯片添加背景呢?一起来看看小编是怎么操作的吧. 1.首先,运行软件,打开PPT文档,选择添加背景的幻灯片: 2.然后,在界面的右侧边栏中找到并点击"背景 ...

  4. 使用poi给word文档表格中添加样式

    32.使用poi给word文档表格中添加样式 File fileNew = new File(exportPath + exportName + ".docx");InputStr ...

  5. Qt中添加背景图片的方法

    Qt中添加背景图片的方法 QPalette的方法 #include #include int main(int argc, char *argv[]) { QApplication app(argc, ...

  6. Vue中添加背景图片

    往一个div中添加背景图片 bgImg:为图片地址 希望能帮到你!!

  7. 简历背景图片设置html代码,怎么在简历中添加背景图片

    在简历中添加背景图片的方法二 步骤1.在菜单栏选择图片->自来文件->选择图片后->确定; 步骤2.选图片->右键-->设置图片格式->版式->衬于文字下方; ...

  8. 怎样在android中添加背景图片?

    怎样在android中添加背景图片? 1.打开左侧的工程文件夹.打开res中的layout,双击main.xml. 2.一般的图片是jpg格式的,要把格式转化为png格式的. 3.把PNG格式的图片拖 ...

  9. java swing背景_java Swing中添加背景图片(总结)

    在java GUI图形化设计中,Swing组件添加背景图片主要有两中情况:1,在Jpanl面板中添加背景图片,2,在jLable中添加背景图片 首先介绍一种最巧妙的背景图片添加方法, 1.利用JLab ...

最新文章

  1. tf.ones_like(tensor, dtype=None, name=None, optimize=True)示例
  2. [数据结构]-散列表(哈希表)
  3. mybatis mysql rownum_MyBatis怎样实现MySQL动态分页?
  4. linux 强制刷新文件,vim 如何刷新或重载reload 已打开的文件
  5. 如何用Postman组装Request并且查看Response
  6. Kubernetes 容器编排
  7. [bzoj1547]周末晚会
  8. python素材和代码_python之文件和素材
  9. css clear属性_CSS中的clear属性
  10. PyTorch中的model.modules(), model.children(), model.named_children(), model.parameters(), model.nam...
  11. 【多元统计分析】课程总结
  12. 带圆圈的数字和markdown常用表达式记录
  13. 【java】汽车租赁系统_结课作业
  14. SDK接入(之Android Google Play内支付(in-app Billing)接入的细节
  15. 语义分割代码实现细节:CE_Loss 和 BCE_loss
  16. Linux下安装oracle11.2.0.4
  17. c语言横版格斗游戏,2.5D横版格斗游戏DEMO附素材
  18. mac服务器文件同步软件,[MACOS]使用fswatch和SCP配合实现自动单向实时同步文件
  19. 非侵入式负荷监测-采集设备
  20. Qt+MySQL编程

热门文章

  1. SpringCloud微服务架构分布式组件如何共享session对象
  2. DynaSLAM2 2020论文翻译
  3. 课程向:深度学习与人类语言处理 ——李宏毅,2020 (P32)
  4. 二三里APP逆向- 国庆篇
  5. 【草稿】DNS配置问题引起的java.net.UnknownHostException
  6. LeetCode_数据结构入门_有效的数独
  7. matlab安装后双击出现图标后闪退没有反应
  8. Codecombat初赛闯关攻略
  9. 阿里云 修改服务器密码 如何修改root密码?如何修改普通用户的密码?
  10. TypeError: Cannot read property ‘$createElement‘ of undefined错误