关于基于CFormView的单文档应用程序,添加一个图片背景的方法之一如下:

下面是利用LoadImage实现。(先在程序目录中添加背景图片back.bmp)

1、在view类中添加类成员变量:(为CMainFrame类添加CBitmap类型的成员变量m_bitmap和

HBITMAP类型的成员变量hBitmap)

int flag;

HBITMAP hbmp;

CBrush m_brush;

2、添加类成员函数:void loadbgbmp(CString str)

void C**VIew::loadbgbmp(CString str)
{
 if(str=="")
 {
  hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
   "back.bmp",
   IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
 }
 else
 {
  hbmp = (HBITMAP)::LoadImage(AfxGetInstanceHandle(),
   str,
   IMAGE_BITMAP, 0, 0, LR_CREATEDIBSECTION|LR_LOADFROMFILE);
 }
 if( hbmp == NULL )
  return;
 CBitmap bmp;
 bmp.Attach( hbmp );
 m_brush.CreatePatternBrush(&bmp);
}

3、添加WM_PAINT消息响应函数,实现代码如下:

void C**View::OnPaint()
{
 CPaintDC dc(this); flag++;
 if(flag==1)//这一句比较重要哟,目的是判断是否已经执行了loadbgbmp函数。有了这一句,可以避免WM_SIZE发生时,引起错误
 loadbgbmp("");
 CRect rect;
 GetClientRect(rect);
 dc.FillRect(rect,&m_brush);

}

来源:http://yinxusunday963.blog.163.com/blog/static/527648442012175373935/

MFC中 给基于CFormView的单文档添加背景图片的更多相关文章

  1. 如何在使用itext生成pdf文档时给文档添加背景图片

    这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片.在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面.这又 ...

  2. MFC 构建、消亡 顺序 (一)--单文档 (SDI)

    MFC 构建.消亡 顺序 (一)--单文档 (SDI) by:http://www.cnblogs.com/vranger/ (一)SDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“N ...

  3. MFC 单文档添加按钮

    VS 单文档 添加按钮 今天做项目需要在单文档中创建按钮来响应函数,即点击按钮,调用某函数,特此记录. 1. 在XXXView中添加CButton变量,例如 CButton start; 2. 下来就 ...

  4. MFC中 创建基于CFormView的文档视图程序

    在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对 ...

  5. 创建MFC应用程序的类型:单文档+多文档+基于对话框

    单文档支持文档视图架构.数据的保存--(读取--改动)文档类功能--显示(视图类功能),比較方便. 基于对话框,主窗体是对话框类型.能够方便的使用控件,所见即所得的编程,比較方便. 单文档类似&quo ...

  6. DotNetBar中dotNetBarManager设置窗口 实现单文档视图界面

    本人想设计一个但文档视图的界面: |--------------------------------------------------------------- |   Ribbon Bar |-- ...

  7. Java 给 PowerPoint 文档添加背景颜色和背景图片

    在制作Powerpoint文档时,背景是非常重要的,统一的背景能让Powerpoint 演示文稿看起来更加干净美观.本文将详细讲述如何在Java应用程序中使用免费的Free Spire.Present ...

  8. VC单文档对话框添加托盘图标

    一 单文档添加托盘 1. 在CMainFrame中定义NOTIFYICONDATA结构m_notify 2.在OnCreate中添加托盘初始化代码 int CMainFrame::OnCreate(L ...

  9. 多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)

    老有人觉得MSComm通讯控件很土,更有人大声疾呼:忘了它吧.确实当我们对串口编程有了一定的了解后,应该用API函数写一个属于自己的串口程序,由于编程者对程序了解,对程序修改自如.但我一直没有停止过用 ...

随机推荐

  1. 【SDOI2009】HH的项链 线段树

    题目描述 HH 有一串由各种漂亮的贝壳组成的项链.HH 相信不同的贝壳会带来好运,所以每次散步完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH 不断地收集新的贝壳,因此,他的项链变得越来越长. ...

  2. CSU-2173 Use FFT

    CSU-2173 Use FFT Description Bobo computes the product P(x)⋅Q(x)=\(c_0 + c_1x + - + c_{n+m}x^{n + m} ...

  3. 初学Linux 命令

    查看ip:ifconfig 切换用户:us root(root为用户名) 显示当前目录:pwd 列出当前目录下所有文件:ls 进入某个目录 :cd 创建一个文件夹:mkdir 创建多个目录(当没有该父 ...

  4. $.ajax相关用法

      ? $.ajax({             type: "GET",             url: "Services/EFService.svc/Member ...

  5. g2o安装

    1.安装依赖项 sudo apt-get install libeigen3-dev libsuitesparse-dev libqt4-dev qt4-qmake 2.安装依赖项  libqglvi ...

  6. 【CCF】URL映射 模拟

    #include<iostream> #include<cstdio> #include<cstring> #include<string> #incl ...

  7. POJ3687 Labeling Balls

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 13645   Accepted: 3955 Description Wind ...

  8. 【CF1015F】Bracket Substring(字符串DP)

    题意:给定一个只由左右括号组成的字符串s,问长度为2*n的包含它的合法括号序列方案数,答案对1e9+7取模 1≤n≤100,1≤|s|≤200 思路:暴力预处理出s的每个前缀[0..i]后加左右括号分 ...

  9. .NET中如何有效的使用Cache

    原文发布时间为:2009-09-30 -- 来源于本人的百度文章 [由搬家工具导入]   Cache 即高速缓存 ,我想很多人对他的第一印象一定像我一样,感觉他一定能提高系统得性能和运行速度。   C ...

  10. 调用Outlook发送邮件

    #region 查找与指定文件关联在一起的程序的文件名 /// <summary> /// 查找与指定文件关联在一起的程序的文件名 /// </summary> /// < ...