1.显示一个BMP图片到窗口上

开始你得有一个BMP图片的资源,找到图片之后导入到项目资源中

首先需要新建一个图片控件,直接拖拽到想放置的位置即可

然后在Picture控件的Type属性下拉框中选择Bitmap;


在Picture控件的Image属性下拉框中选择BMP资源ID为IDC_BITMAP1即可。

Type属性下拉列表中有8种类型,下面分别介绍下:
Frame:显示一个无填充的矩形框,边框颜色可以通过Color属性的下拉列表设定
Etched Horz:显示一条横分割线
Etched Vert:显示一条竖分割线
Rectangle:显示一个填充的矩形框,矩形颜色可通过Color属性的下拉列表设定
Icon:显示一个图标(Icon),图标通过Image下拉列表来设置图标资源ID
Bitmap:显示一个位图(Bitmap),位图通过Image下拉列表来设置位图资源ID
Enhanced Metafile:显示一个加强的元数据文件(Metafile)
Owner Draw:自绘

2.如何动态的去加载一个BMP图片呢

这里添加一个按钮,通过点击来显示出图片

这个给picture控件添加一个变量m_picture,添加一个按钮来控制显示bmp图片资源

void CMFC_Test1Dlg::OnBnClickedButton15()
{// TODO:  在此添加控件通知处理程序代码//新建一个bmp文件资源变量CBitmap m_bmp;//加载资源对应的IDBOOL b_load = m_bmp.LoadBitmap(IDB_BITMAP2);//如果加载成功则进行显示if (b_load){m_picture.SetBitmap((HBITMAP)m_bmp);}//m_picture}

也可以通过加载文件的方式来显示bmp图片

//方式二,通过图片的路径来进行加载显示//加载的图片在当前EXE的模块外//可以指定图片大小,如上图中的50, 50,若实际大小和此不相符,会自动缩放图片//LR_DEFAULTCOLOR — 指定按照原图的颜色加载图片,不可少//LR_LOADFROMFILE — 加载外部的Bitmap,一定要指定//LR_CREATEDIBSECTION — 一般会指定//如若按照图片本身的大小加载,则设置cx, cy为0, 0,并且在最后的标志位加上 | LR_DEFAULTSIZE//注意:从网上下载的Bitmap图片可能用上面的方法加载失败,返回的HBITMAP为NULL,//GetLastError()返回0,这个一般是图片格式的问题,可以用Windows的画图程序打开Bitmap再另存为24位位图的bmp格式就可以了。HBITMAP hbmp = (HBITMAP)::LoadImage(NULL, _T("F:\\VSproject\\MFC_project\\0428test\\MFC_Test1\\MFC_Test1\\res\\IDC_520.bmp"), IMAGE_BITMAP,0,0,LR_DEFAULTCOLOR|LR_DEFAULTSIZE|LR_LOADFROMFILE);m_picture.SetBitmap(hbmp);

效果如下图所示

3.如何加载其他类型的图片呢?比如png、jpg等等格式

默认情况下,Picture控件只能显示BMP类型的图像,因为BMP文件格式是微软自家的。但是bmp

这个确实不是很常用,或者说针对 png、jpg、gif 等文件类型来说 bmp 不常用。那么Picture控件

如何来显示我们常用的 png、jpg 等图像格式呢?这里要借助微软的ATL中的一个类:CImage

代码如下所示:

void CMFC_Test1Dlg::OnBnClickedButton17()
{// TODO:  在此添加控件通知处理程序代码CImage cim;cim.Load(_T("F:\\VSproject\\MFC_project\\0428test\\MFC_Test1\\MFC_Test1\\res\\image.jpg"));HBITMAP hbmp = cim.Detach();m_picture2.SetBitmap(hbmp);m_picture2.SetWindowPos(NULL, 0, 0, 192, 78, SWP_NOACTIVATE | SWP_NOMOVE | SWP_NOZORDER);
}

还有需要注意的是每次编辑,图片控件都会报错如下所示

解决方法:

双击这个错误,会跳到提示错误的那一行,在那一行中的一串地址前插入:"Static", SS_BITMAP,

【MFC开发(12)】图片框控件 Picture Control相关推荐

  1. vs2015+opencv3.2+mfc读取摄像头显示在图片控件Picture Control

    vs2015 + opencv3.3 + mfc读取摄像头显示在图片控件Picture Control 要开始做一个行人检测的小项目,首先读取出摄像头显示,参考了这位博主的教程:http : //bl ...

  2. MFC动态改变图形控件picture control位置

    前言 有时候用pictrue控件显示图片的时候,如果设置图片大小适应控件大小可能不是很合理,但如果不设置,控件可能会便宜你摆放的原位置,这时候需要动态设置图形控件位置 正文 void CDlog4:: ...

  3. VS2019/MFC编程入门:树形控件Tree Control 下

    前面一节讲了树形控件Tree Control的简介.通知消息以及相关数据结构,本节继续讲下半部分,包括树形控件的创建.CTreeCtrl类的主要成员函数和应用实例.在内容开始前为大家介绍一款MFC界面 ...

  4. MFC开发IM-自绘按钮控件,给按钮设置背景图片

    MFC 基础知识:对话框背景添加图片和按钮Button添加图片 很长时间没有接触MFC相关的知识了,我大概是在大二时候学习的MFC相关知识及图像处理,现在由于要帮个朋友完成个基于C++的程序,所以又回 ...

  5. VC++图片框控件静态和动态加载位图

    win10,vc6:新建一个对话框工程:右击资源文件夹,插入...: 类型,Bitmap:引入:选择一个bmp图片: 插入后如下:自动给了一个id: 图片框属性:类型,下拉选中 位图: 图像属性,选中 ...

  6. 鸡啄米之VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox)

    目录 一.目的: 1.点击列表框某个变量后,编辑框就显示出来这个变量名字 一.参考: 1.VS2010/MFC编程入门之二十四(常用控件:列表框控件ListBox) ①总结:good:亲测有效,适合多 ...

  7. MFC入门(三)-- MFC图片/文字控件(循环显示文字和图片的小程序)

    惯例附上前几个博客的链接: MFC入门(一)简单配置:http://blog.csdn.net/zmdsjtu/article/details/52311107 MFC入门(二)读取输入字符:http ...

  8. VS2019/MFC编程入门教程:组合框控件Combo Box

    上一节讲了列表框控件ListBox的使用,本节主要讲解组合框控件Combo Box.组合框同样相当常见,例如,在Windows系统的控制面板上设置语言或位置时,有很多选项,用来进行选择的控件就是组合框 ...

  9. VC++中combo box(组合框)控件使用说明/MFC COMBOBOX的使用

    转自:不知道... Combo Box (组合框)控件很简单,可以节省空间.从用户角度来看,这个控件是由一个文本输入控件和一个下拉菜单组成的.用户可以从一个预先定义的列表里选择一个选项,同时也可以直接 ...

  10. 安卓开发设置系统文件夹下图片为控件背景

    安卓开发设置系统文件夹下图片为控件背景 比如设置 /mnt/sdcard/Download/aaa.png为某一控件背景图 Drawable dr=Drawable.createFromPath(&q ...

最新文章

  1. 网络yum网址:http://mirrors.163.com/.help/
  2. c语言50到100套,c语言51-100套试题答案及详解.pdf
  3. localhost与127.0.0.1的概念和工作原理之不同
  4. react+dva+antd接口调用方式
  5. C/C++混淆点-strcat和strcpy区别
  6. 7-4 输出最小公倍数 (9 分)
  7. 两个三维向量叉积_线性代数的本质08 叉积
  8. ipc (进程间通信
  9. js基础知识汇总04
  10. 2021-06-14 七大参数,四种拒绝策略
  11. (转)人工智能的钟摆
  12. matlab幻方变换_幻方变换加密数字全息图
  13. Android 下载Zip文件,并解压到本地
  14. Excel绘制双坐标抽图表
  15. python读取xlsx文件找不到_在python中打开并读取excel .xlsx文件
  16. python海龟图画龙珠_DeepOps的Python小笔记-天池龙珠计划-Python训练营-Task 02:DAY4
  17. C++ Lua库 源码编译及使用(VS2019)
  18. eNSP:实现不同网段不同vlan主机之间的互访(配置单臂路由)
  19. 51单片机通过WIFI模块ESP8266控制LED灯
  20. 森林图怎么分析_图说meta十一:森林图暨RevMan软件使用方法简介

热门文章

  1. java springlayout_Java SpringLayout
  2. 慕课java工程师2020版_2020年Java工程师就业前景怎么样?
  3. 电力设计手册_10KV及以下供配电设计与安装图集
  4. MFC中CDC画线总结
  5. python 修改文件名 修改日期_python实现批量修改文件名
  6. c if语句多个条件判断顺序_IF函数和IFS函数的应用对比
  7. python管道怎么使用_Python – 如何使用管道执行shell命令?
  8. 计算机win7截长屏,怎么用截图工具截比电脑屏幕长的图片?-WIN7截长图,win7怎么滚动截长图...
  9. 基于javaweb的学生考勤管理系统(java+SSM+Poi导出+Easyui+JFreeChart+maven+mysql)
  10. CC(Context Capture)软件安装及空三过程中的十大常见报错与解决方法