VC++MFC对话框程序中给对话添加背景图片
VC对话框怎么显示背景图片呢。在MFC中实现背景图片,不像C#应用程序那么简单。今天就和朋友们说说如何在VC界面中设置背景图片 ^_^

工具/原料
- Visual C++ 2010
方法一:用Picture控件
- 1
新建MFC应用程序

- 2
在应用程序中,选择基于对话框,其他保持默认即可

- 3
右击项目,选择添加-资源

- 4
在添加资源对话框中,点击导入,选择要作为背景的图片
jpg格式的图片可以用画图打开另存为bmp格式
(网上说可以直接jpg格式,自行实验未成功)
下方对话框中资源类型选为bitmap

- 5
在工具箱找到Picture控件,托到界面中

- 6
在界面上点击选中Picture控件,然后在属性的Type下拉框中,选择Bitmap

- 7
再在Picture控件的属性的Type下拉框中插入的图片资源
选择好后,图片就可以加载进对话框了

- 8
运行程序,看到背景已经变成你设置的图片啦 #^_^#
END
方法二:重载 OnCtlColor()函数2
- 1
像方法一那样,插入一张图片到资源文件中,ID为 IDB_BITMAP2

- 2
在dlgImageDlg.h中,添加以下代码
dlgImage是项目的名称

- 3
在dlgImageDlg.cpp文件的OnInitDialog()函数中,添加以下代码

- 4
在设计界面中,右击对话框,选择属性。然后在消息中找到 WM_CTLCOLOR,在右侧下拉框中,选择 OnCtlColor,重载OnCtlColor()函数

- 5
在OnCtlColor()函数中,添加如下代码

- 6
运行程序,界面的背景已经变成漂亮的图片啦
END
方法二注意事项3
在方法二中,如果无法将jpg或其他格式的图片插入到Bitmap资源文件夹下,或者图片无法正常显示,可能是程序没有将其他格式的图片当作bmp格式来处理。
如果中间不是 BITMAP 格式,可以改成 BITMAP 格式
END
注意事项
- 把图片作为资源,这样发布程序后,就可以和程序绑在一起,作为绿色软件了
VC++MFC对话框程序中给对话添加背景图片的更多相关文章
- netbeans中给jpanl添加背景图片制定代码的理解——匿名内部类继承父类
此测试是为了仿照在netbeans中给jpanl添加背景图片的制定代码的执行过程 在JpDemo中定义了个Car类的数据类型,但在给其赋值对象时使用了匿名内部类,继承了Car类,是其子类,并重写了父类 ...
- iOS 中 为UIView添加背景图片
创建UIImage的方法有两种: UIImage *image = [UIImageimageNamed:@"image.jpg"];//这种不释放内存,要缓存 NSString ...
- html中给元素添加背景图片或者gif动图
添加背景图片有四种常用的方式,分别是: repeat 完全平铺 repeat-x 横向平铺 repeat-y 纵向平铺 no-repeat 不平铺 使用示例: <!DOC ...
- Qt中为QPushButton添加背景图片
有2种方式,一种是在代码中设置,另外一种是直接在Qt Creator中直接设置,下面是第二种 参考: http://doc.qt.io/qt-4.8/stylesheet-examples.html ...
- 自定义编辑框VC,可加载更改字体,添加背景图片,显示输入提示信息
搞了一天终于弄了个完整的编辑框控件出来了, 哎,,,搞界面开发还是有点复杂的. #pragma once #include "AdvEdit.h" // CBkgEditBox c ...
- 【MFC - 菜单】在对话框程序中添加菜单栏(CMenu)(转)
原文转自 http://lishiqiang1988.blog.163.com/blog/static/41147912201382104631547/ VS2010的MFC对话框程序中添加菜单栏的过 ...
- VC添加背景图片 的一种方法
.如果程序是新建的对话框,要给其添加背景图片的步骤: 1)加入消息函数:afx_msg void OnPaint(); 2)BEGIN_MESSAGE_MAP(QueryDlg, CDialog) O ...
- MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法
http://blog.csdn.net/xgx198831/article/details/6713651 MFC对话框程序 屏蔽ESC和ENTER键关闭对话框的方法 或许还有其它更好的办法,但下 ...
- 关于MFC框架程序中CWinApp::OnIdle
很早之前就发现,我写的图形引擎在MFC框架程序中的刷帧率始终在60FPS左右.好在自己的程序对刷帧率的要求不是很高,所以一直没有太过纠结此事.直到今天看了别人的程序才发现应该在函数CWinApp::O ...
随机推荐
- 11款最棒的Linux数据恢复工具
无论你使用的是台式电脑还是笔记本,需要关注的重点之一都是如何保护好你的宝贵数据.因为总会有各种突发情况使你的系统崩溃,然后你要做的就是恢复数据.不管你怎么想,要是我失去了所有的数据却无法恢复的话,我会 ...
- spring-hadoop-samples
官方的spring-hadoop-samples的demo 写的还是挺好的,值得学习. 官网地址: http://projects.spring.io/spring-hadoop/#quick-sta ...
- 使用ffmpeg截取视频封面并批量上传
需求:将视频文件压入zip包,然后上传服务器.服务器对zip解压,使用bat/shell,使用ffmpeg对视频进行封面截取.再使用OSS对视频和封面进行批量上传.最后将信息存入数据库 遇到的问题 1 ...
- dom元素父子容器互相调用控制
在html中普通的父容器调用子容器中的方法十分简单 因为这两个容器的所有方法和属性都在同一个dom模型中 可以直接控制和使用 但是如果子容器中是一个iframe标签又是怎样的情况? iframe请求另 ...
- 为windows开启winrm service, 以便进行远程管理
为windows开启winrm service, 以便进行远程管理 是windows 一种方便远程管理的服务:开启winrm service,便于在日常工作中,远程管理服务器,或通过脚本,同时管理 ...
- Linux非阻塞IO(四)非阻塞IO中connect的实现
我们为客户端的编写再做一些工作. 这次我们使用非阻塞IO实现connect函数. int connect(int sockfd, const struct sockaddr *addr, sockle ...
- react-native 创建 ios 项目
创建React-Native项目 打开终端输入react-native init ProjectName,这里的ProjectName可以改成你想创建的项目名称.然后有两种方法启动项目 1.从终端开启 ...
- 深入浅出java静态代理和动态代理
首先介绍一下.什么是代理: 代理模式,是经常使用的设计模式. 特征是.代理类与托付类有同样的接口,代理类主要负责为托付类预处理消息.过滤消息.把消息转发给托付类.以及事后处理消息. 代理类和托付类,存 ...
- 【Python数据分析】
索引对象的其他功能 ①更换索引 ②对齐 ③删除 一.更换索引 我们已经知道,数据结构一旦声明,index对象就不能改变 事实上,我们重新定义索引之后,我们就能够用现有的数据结构生成一个新的数据机构 p ...
- ckeditor编辑时 回车 生成一个段落p、解决首行缩进问题
使用ckeditor编辑器时,会自己主动加入上的标签,按回车也会自己主动加入上同样的标签 查看ckeditor编辑器源代码时会看到,点击回车显示的<p> </p> static ...