MFC中 给基于CFormView的单文档添加背景图片
关于基于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的单文档添加背景图片的更多相关文章
- 如何在使用itext生成pdf文档时给文档添加背景图片
这个问题我在网上搜了很久,没有找到什么解决方案,需求其实很简单,就是添加背景图片.在解决这个问题之前,我们需要了解什么是背景图片?背景图片就是位于文档最底层的图片,文字和其他内容可以浮在它的上面.这又 ...
- MFC 构建、消亡 顺序 (一)--单文档 (SDI)
MFC 构建.消亡 顺序 (一)--单文档 (SDI) by:http://www.cnblogs.com/vranger/ (一)SDI 生成顺序 (二)打开文档-“Open” (三)新建文档-“N ...
- MFC 单文档添加按钮
VS 单文档 添加按钮 今天做项目需要在单文档中创建按钮来响应函数,即点击按钮,调用某函数,特此记录. 1. 在XXXView中添加CButton变量,例如 CButton start; 2. 下来就 ...
- MFC中 创建基于CFormView的文档视图程序
在MFC中可以创建多种类型的窗口程序,如对话框程序.单文档结构程序(非文档/视图结构).单文档(文档/视图结构)以及多文档视图结构程序等. 在编写一般的小工具时,我们的首选显然是对话框程序,不过基于对 ...
- 创建MFC应用程序的类型:单文档+多文档+基于对话框
单文档支持文档视图架构.数据的保存--(读取--改动)文档类功能--显示(视图类功能),比較方便. 基于对话框,主窗体是对话框类型.能够方便的使用控件,所见即所得的编程,比較方便. 单文档类似&quo ...
- DotNetBar中dotNetBarManager设置窗口 实现单文档视图界面
本人想设计一个但文档视图的界面: |--------------------------------------------------------------- | Ribbon Bar |-- ...
- Java 给 PowerPoint 文档添加背景颜色和背景图片
在制作Powerpoint文档时,背景是非常重要的,统一的背景能让Powerpoint 演示文稿看起来更加干净美观.本文将详细讲述如何在Java应用程序中使用免费的Free Spire.Present ...
- VC单文档对话框添加托盘图标
一 单文档添加托盘 1. 在CMainFrame中定义NOTIFYICONDATA结构m_notify 2.在OnCreate中添加托盘初始化代码 int CMainFrame::OnCreate(L ...
- 多线程串口编程工具CserialPort类(附VC基于MFC单文档协议通讯源程序及详细编程步骤)
老有人觉得MSComm通讯控件很土,更有人大声疾呼:忘了它吧.确实当我们对串口编程有了一定的了解后,应该用API函数写一个属于自己的串口程序,由于编程者对程序了解,对程序修改自如.但我一直没有停止过用 ...
随机推荐
- 设计模式之迭代器模式 Iterator
代码实现 public interface MyIterator { void first(); //将游标指向第一个元素 void next(); //将游标指向下一个元素 boolean hasN ...
- 菜鸟之路——Linux基础::计算机网络基础,Linux常用系统命令,Linux用户与组权限
最近又重新安排了一下我的计划.准备跟着老男孩的教程继续学习,感觉这一套教程讲的很全面,很详细.比我上一套机器学习好的多了. 他的第一阶段是Python基础,第二阶段是高等数学基础,主要将机器学习和深度 ...
- JAVA作业一
public class java1 { /** * @param args */ public static void main(String[] args) { // TODO Auto-gene ...
- 【转】Unity3D学习日记(一)使用UGUI制作虚拟摇杆
http://blog.csdn.net/begonia__z/article/details/51170059 如今手机游戏玩法多种多样,尤其使用虚拟摇杆进行格斗类游戏开发或者是MMORPG成为了主 ...
- iOS-------- Objective-C多态:动态类型识别+动态绑定+动态加载
一.Objective-C多态 1.概念:相同接口,不同的实现 来自不同类可以定义共享相同名称的方法. 动态类型能使程序直到执行时才确定对象所属类型 动态类型绑定能使程序直到执行时才确定要对对象调用的 ...
- P1463 [HAOI2007]反素数
题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...
- PIC单片机之时钟设置
PIC单片机之时钟设置 http://blog.csdn.net/superanters/article/details/8541650 内部时钟和外部时钟? PIC单片机有许多型号可以设置成 用外部 ...
- BZOJ2396 神奇的矩阵 【随机化 + 矩乘】
题目链接 BZOJ2396 题解 一种快速判断两个矩阵是否相等的方法: 对于两个\(n * n\)矩阵,两边同时乘一个\(n * 1\)的随机矩阵,如果结果相等,那么有很大概率两个矩阵相等 如果左边是 ...
- xml的并发
网站整站的缓存方式都是依靠的DataSet的ReadXml和WriteXml的方式实现的,这种方式在访问量不是很大的网站中是一点问题都没有的(最大可承受的日IP估计在8000-15000左右),但是当 ...
- JavaScript简明教程之Node.js
Node.js是目前非常火热的技术,但是它的诞生经历却很奇特. 众所周知,在Netscape设计出JavaScript后的短短几个月,JavaScript事实上已经是前端开发的唯一标准. 后来,微软通 ...