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下查找、删除、替换命令
查看某目录下所有文件的个数: [root@localhost1 opt]# ls -l |grep "^-"|wc -l 查看某目录下所有文件的个数,包括子目录里面的: [root ...
- 4. Median of Two Sorted Arrays(topK-logk)
4. Median of Two Sorted Arrays 题目 There are two sorted arrays nums1 and nums2 of size m and n respec ...
- Java 中 ConcurrentHashMap 原理分析
一.Java并发基础 当一个对象或变量可以被多个线程共享的时候,就有可能使得程序的逻辑出现问题. 在一个对象中有一个变量i=0,有两个线程A,B都想对i加1,这个时候便有问题显现出来,关键就是对i加1 ...
- solr 常用命令
1.启动和关闭 a.启动和重启 启动和重启命令有很多选项让你运行在SolrCloud模式,使用示例配置,以hostname为开头或者非默认端口,指向本地ZooKeeper. bin/solr star ...
- SparkMLlib分类算法之逻辑回归算法
SparkMLlib分类算法之逻辑回归算法 (一),逻辑回归算法的概念(参考网址:http://blog.csdn.net/sinat_33761963/article/details/5169383 ...
- 使navicat可以通过SSH连接MySQL数据库
1.编辑/etc/ssh/sshd_config,在最下面添加如下语句 KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libss ...
- Linux中MySQL数据库max_allowed_packet的调整
在MySQL数据库里某表有一个blob字段,当上传文件超过1M的时候出现下面的错误: PreparedStatementCallback; SQL [insert into uos.docfile(r ...
- mysql误操作后通过binlog恢复,同时解决tmp目录满的问题
注意: 本文的恢复,并不是基于恢复某个时间点的全量备份后的增量恢复,而是指在现有数据库基础上基于binlog的恢复.适用于较小的数据误操作. 提取日志文件为sql语句: /usr-ext/local/ ...
- ionic准备之angular基础——继承(3)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 文件json
import jsondef op_data(filename,dic=None): if dic:#写入进去 with open(filename,'w',encoding='utf-8') as ...