如何给MFC对话框添加背景图片
一.创建项目
文件-新建项目-MFC应用程序-该页面使用“基于对话框”-完成即可。
注意:取消“使用Unicode库”,否则在使用AfxMessageBox会报错,没有一个可以转换的参数类型,要加AfxMessageBox(_T(“..”))。
运行结果:
二.添加背景Bitmap资源
在“资源视图”中右键鼠标Dialog处,选择“添加资源”。
在“添加资源”对话框中选择Bitmap,点击“导入”,选择工程文件res文件夹中的背景图片,它会添加一张IDB_BITMAP1的图片。
注意:在添加的图片中最好使用的是24位的BMP格式图片,图片应该放入res文件夹中。
三.编写代码
找到XXXDlg.cpp文件夹下的void CXXXDlg::OnPaint()函数,在else中进行修改。
1.首先注释掉CDialog::OnPaint()函数
CDialog是个对话框类,OnPaint()是成员函数,是对窗口进行重画,注释掉该语句否则会调用该语句不断重画,而不会执行下面添加的代码。注释掉该语句后最小化对话框后发现控件不可见,不过移动鼠标后又能看见。
2.添加代码
else {
//注释该语句:防止重复调用重画函数
//CDialog::OnPaint();
//添加代码对话框背景贴图
CPaintDC dc(this);
CRect rect;
GetClientRect(&rect); //获取对话框长宽
CDC dcBmp; //定义并创建一个内存设备环境
dcBmp.CreateCompatibleDC(&dc); //创建兼容性DC
CBitmap bmpBackground;
bmpBackground.LoadBitmap(IDB_BITMAP1); //载入资源中图片
BITMAP m_bitmap; //图片变量
bmpBackground.GetBitmap(&m_bitmap); //将图片载入位图中
//将位图选入临时内存设备环境
CBitmap *pbmpOld=dcBmp.SelectObject(&bmpBackground);
//调用函数显示图片StretchBlt显示形状可变
dc.StretchBlt(0,0,rect.Width(),rect.Height(),&dcBmp,0,0,m_bitmap.bmWidth,m_bitmap.bmHeight,SRCCOPY);
}
四.运行结果
运行结果如下图所示:
由于我是刚学习VS2012编写MFC程序,在处理显示图片中遇到了很多问题,也参考了很多很多CSDN大神的博客,希望这篇博客能帮助大家。~~初学者学习,高手忽略。
其中主要感谢y30369的CSDN一篇使用VC++ MFC的博客,详细网址如下:
http://blog.csdn.net/y30369/article/details/6467468
如何给MFC对话框添加背景图片相关推荐
- c语言mfc怎么插入背景图片,MFC 对话框添加背景图片详细过程(两种方法)
给对话框添加背景图片方法很多,在此贴出两种很常见的方法.一种是通过读取位图资源显示位图(BitMap) step: 1.创建内存设备上下文: 2.选择位图,将其装入内存设备上下文: 3.使用BitBl ...
- MFC 对话框添加背景图片详细过程(两种方法)
给对话框添加背景图片方法很多,在此贴出两种很常见的方法.一种是通过读取位图资源显示位图(BitMap) step: 1.创建内存设备上下文: 2.选择位图,将其装入内存设备上下文: 3.使用BitBl ...
- 在VS2013环境下MFC学习:给对话框添加背景图片
步骤1 添加资源 先右击工程名.rc(我的是PlaneDiag_Demo_MFC),再点击"添加资源" 步骤2 导入BMP图像 进入"添加资源"界面后,点击资源 ...
- VC中为对话框添加背景图片
From: http://blog.ezcn8.com/2011/06/11/vc%E4%B8%AD%E4%B8%BA%E5%AF%B9%E8%AF%9D%E6%A1%86%E6%B7%BB%E5%8 ...
- 给对话框添加背景图片
给对话框添加背景图片 1 . 把你的图包含到程序的 "Bitmap 资源 " 里,提示说该资源使用了大于 256 色的调色板,在 VC 里无法编辑等等,点确定就可以 2 ...
- 如何给对话框添加背景图片及图片按钮CBUttonST
一.首先1.添加背景图片到"Bitmap"资源里.方法为"插入--资源",如果还没有Bitmap,则新建一个Bitmap,否则选择资源 类型为&qu ...
- MFC如何添加背景图片
1.选择一张图片,把图片转换成bmp格式,并把它存放在res文件夹下 2.在资源视图里,选择项目点击右键,添加资源 3.选择bitmap,点击导入 导入成功: 4.在资源视图里右键,获取图片的ID:I ...
- MFC 对话框添加背景图
// 给对话框添加背景图 BOOL CEditCtrlMultilineDlg::OnEraseBkgnd(CDC* pDC) {// TODO: 在此添加消息处理程序代码和/或调用默认值CDC Me ...
- element-ui的 Dialog 对话框添加背景图片
el-dialog的默认背景为 白色 ,我们将其设置为透明.并添加背景图片.el-dialog__header.el-dialog__body.el-dialog__footer背景设置为透明,即可. ...
最新文章
- 【python教程入门学习】七夕情人节表白|Python程序员的花式表白
- 一位数据挖掘成功人士给数据挖掘在读研究生的建议
- @RequestBody注解失效?从前端传来的数据到底需不需要@RequestBody注解?前端传输数据解析的问题?
- AI 事件驱动场景 Serverless 实践
- poj 3920(简单dp)
- 基恩士上位机链路通讯_基恩士PLC通讯源码
- 全栈工程师薪水_2020 Java 全栈工程师进阶路线图,不可错过
- 一篇文章,带你见证编程语言的诞生!
- linux vi 打开乱码,liunx 中使用vim 打开 txt文件时 中文出现乱码的解决办法
- c语言输出3位数逆序数,C语言求助!一个三位数的逆序数,总是编不对
- linux 查看nginx,php-fpm运行用户及用户组
- 常见分布的期望方差矩母函数
- # 20175333曹雅坤 第八周课程学习总结
- JAVA中this的四种用法的详解
- 怎么开发qq群自动回复机器人呢?我教你
- 不同版本的centos默认的ks.cfg
- 初等数学I 自然数 第二节 序数理论基础与自然数的运算
- Slicer学习笔记(六十一)slicer下segmentation segment合并
- matlab 设置坐标轴位置/方向 y轴反向
- java版-五子棋-个人-源码参考