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 ...
随机推荐
- linux 下查看硬件信息(mac,IP地址,硬盘型号,序列号等)
一.查看网卡mac地址 #安装lshw [root@server ~]# yum install lshw #使用方法 [root@rsync-server ~]# lshw -c network * ...
- 利用Python,四步掌握机器学习
为了理解和应用机器学习技术,你需要学习 Python 或者 R.这两者都是与 C.Java.PHP 相类似的编程语言.但是,因为 Python 与 R 都比较年轻,而且更加“远离”CPU,所以它们显得 ...
- 删除windows服务命令
打开命令框:输入sc delete 服务名 例如删除elasticsearch-service-x64服务 sc delete elasticsearch-service-x64
- JAVA_Exception starting filter struts2怎么办
1 请确保你的项目里面有这两个文件,没有则导入 2 如果还不行,并且你设置了Struts的开发模式,并且你的Tomcat的路径有空格,大部分情况是Program File的原因,此时你需要重新安装 ...
- Android学习(十三) BroadcastReceiver组件(广播)
一.Broadcast(广播) 是一种广泛应用在应用程序之间传输信息的机制. 二.Broadcast(广播接收器) 是对发送出来的广播进行过滤接收并响应的一类组件,它就是用来接收来自系统和应用中的广播 ...
- S2:外观模式 Facade
为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用. 什么时候使用:1,开发阶段,子系统越来越复杂,增加外观模式提供一个简单的调用接口.2,维护一个大 ...
- Centos6.6 以rpm方式安装mysql5.6
一.查看系统中有没有mysql的源 yum repolist all | grep mysql 二.配置源 1.配置源参考mysql官方给出的源配置,https://dev.mysql.com/doc ...
- web前端性能优化汇总
一.概述 web前端性能优化主要点为:减少HTTP请求,减小请求文件大小.其他优化. 二.优化细节 1.减少HTTP请求 (1)使用缓存 (2)雪碧图 (3)合并文件 (4)将javascript和c ...
- 数据访问公共类(BaseProvider)
using System; using System.Data; using System.Data.Common; using System.Configuration; using System. ...
- Ubuntu14.04下MySQL的安装与卸载
转载自:https://www.2cto.com/os/201408/329502.html 安装MysQL 执行以下命令:sudo apt-get install mysql-server 2. 继 ...