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函数写一个属于自己的串口程序,由于编程者对程序了解,对程序修改自如.但我一直没有停止过用 ...
随机推荐
- 从shell(终端)中退出python
从shell(终端)中退出python: 1.输入命令行:$ exit() 2.快捷键: ctrl+Z
- Leetcode 523.连续的子数组和
连续的子数组和 给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数. 示例 1: ...
- pip更新产生的问题及其解决方法?
运行 pip3 install --upgrade pip 发生错误: from pip import main ImportError: cannot import name 'main' 将以下代 ...
- Android之操作相册
获取手机中的图片的绝对路径并且区分出每个文件夹下的路径: 存放图片绝对路径的文件夹的名字和存放绝对路径的List 实体类如下: import java.util.ArrayList; import j ...
- HDU 4178 模拟
Roll-call in Woop Woop High Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (J ...
- hihoCoder offer 收割练习赛 74B 取球游戏
Observations 存在取球策略使得每个四连通块可以只剩一个球:保证取走一个球后仍然是个四连通块. 定义新的[相邻]关系:两球在同一行中且所在行中二者之间无其他球,或者两球在同一列且所在列中二者 ...
- hihoCoder #1758 加减
$\DeclareMathOperator{\lowbit}{lowbit}$ 题目大意 对于一个数 $x$,设它最低位的 1 是第 $i$ 位,则 $\lowbit(x)=2i$ . 例如 $\lo ...
- 刷题总结——Collecting Bugs(poj2096)
题目: Description Ivan is fond of collecting. Unlike other people who collect post stamps, coins or ot ...
- linux磁盘挂载流程
参考 [https://www.jianshu.com/p/ea57fb7834f2]
- 很好用的取代 PuTTY 的SSH远程登陆软件 Termius
一直以来, 我都是用 PuTTY 一个窗口一个窗口来监视我所有的远程服务器. putty-connections-on-a-screen 总感觉非常的不方便, 特别是当远程链接断开需要再重新打开PUT ...