vs2010-mfc(常用控件:图片控件picturecontrol)(代码片段)

tang-tangt tang-tangt     2022-12-21     425

关键词:

 

转自:http://www.jizhuomi.com/software/193.html

 

本节主要讲一种简单实用的控件,图片控件Picture Control。我们可以在界面某个位置放入图片控件,显示图片以美化界面。

 

       图片控件简介

       图片控件和前面讲到的静态文本框都是静态文本控件,因此两者的使用方法有很多相同之处,所属类都是CStatic类,有关成员函数已在前面介绍,这里就不重复了。

 

       图片控件静态和动态加载图片

       下面为大家演示如何为图片控件静态和动态加载位图图片。

 

       1. 图片控件静态加载图片

       1)创建一个基于对话框的MFC工程,名称设置为“Example27”。

       2)准备一张Bitmap图片,名称设为“test.bmp”,放到工程的res文件夹中,res文件夹路径为...Example27Example27 es。这里用一张全黑图片。

       3)在Resource View中的“Example27.rc*”节点上点右键,选择“Add Resource...”,弹出“Add Resource”对话框:

 技术分享图片

技术分享图片

 

       然后在左侧的“Resource Type”中选择“Bitmap”,点按钮“Import”,显示一个文件对话框,我们选择res文件夹中的test.bmp图片文件,导入成功后会在Resource View的Example27.rc*节点下出现一个新的子节点“Bitmap”,而在“Bitmap”节点下可以看到刚添加的位图资源IDB_BITMAP1,这里的默认ID就不修改了。

 

       4.)在自动生成的对话框模板IDD_EXAMPLE27_DIALOG中,删除“TODO: Place dialog controls here.”静态文本控件、“OK”按钮和“Cancel”按钮。添加一个Picture Control控件,在图片控件的属性页中有一个Type属性,Type属性下拉列表中有8种类型,下面分别介绍下:

       Frame:显示一个无填充的矩形框,边框颜色可以通过Color属性的下拉列表设定

       Etched Horz:显示一条横分割线

       Etched Vert:显示一条竖分割线

       Rectangle:显示一个填充的矩形框,矩形颜色可通过Color属性的下拉列表设定

       Icon:显示一个图标(Icon),图标通过Image 下拉列表来设置图标资源ID

       Bitmap:显示一个位图(Bitmap),位图通过Image 下拉列表来设置位图资源ID

       Enhanced Metafile:显示一个加强的元数据文件(Metafile)

       Owner Draw:自绘

       因为我们要加载的是位图图片,所以Type属性选择Bitmap。

 

       5)在图片控件的Image属性的下拉列表中选择3)中导入的位图IDB_BITMAP1。

技术分享图片

       6)编译运行程序,弹出结果对话框,如下图所示:

技术分享图片

 

 

 

        2. 图片控件动态加载图片

        以上讲的是静态加载图片的方法,下面接着讲动态加载图片的方法。程序依然沿用上面的工程。步骤如下:

        1)将上面添加的图片控件的Image属性IDB_BITMAP1清空,Type属性不变。

        2)修改图片控件的ID为IDC_JIZHUOMI_STATIC,然后为其添加CStatic类型控件变量m_jzmPicture。(若不修改ID则无法为其添加控件变量

        3)在对话框下方添加一按钮控件,Caption属性改为“加载图片”,ID设为IDC_LOAD_PIC_BUTTON。

        4)为按钮IDC_LOAD_PIC_BUTTON添加点击消息的处理函数CExample27Dlg::OnBnClickedLoadPicButton(),然后修改此函数的函数实现如下:

C++代码
void CExample27Dlg::OnBnClickedLoadPicButton()   
   
    // TODO: Add your control notification handler code here   
    CBitmap bitmap;  // CBitmap对象,用于加载位图   
    HBITMAP hBmp;    // 保存CBitmap加载的位图的句柄   
  
    bitmap.LoadBitmap(IDB_BITMAP1);  // 将位图IDB_BITMAP1加载到bitmap   
    hBmp = (HBITMAP)bitmap.GetSafeHandle();  // 获取bitmap加载位图的句柄   
    m_jzmPicture.SetBitmap(hBmp);    // 设置图片控件m_jzmPicture的位图图片为IDB_BITMAP1   
  

 

 

        5)编译运行程序,弹出结果对话框,点击按钮“加载图片”,结果如下:

技术分享图片

技术分享图片

 

 

       图片控件Picture Control的内容就讲到这里了。应该说还是比较简单的。

 

vs2010/mfc编程入门之二十(常用控件:静态文本框)

...话框的介绍就到此为止了。从本节开始鸡啄米将讲解各种常用控件的用法。常用控件主要包括:静态文本框、编辑框、单选按钮、复选框、分组框、列表框、组合框、图片控件、列表控件、树形控件和进度条 查看详情

vs2010-mfc(常用控件:按钮控件buttonradiobutton和checkbox)

 转自:http://www.jizhuomi.com/software/182.html        按钮控件简介      按钮控件包括命令按钮(Button)、单选按钮(RadioButton)和复选框(CheckBox)等。命令按钮就是我们 查看详情

vs2010-mfc(常用控件:滚动条控件scrollbar)(代码片段)

 转自:http://www.jizhuomi.com/software/191.html         滚动条控件简介      滚动条大家也很熟悉了,Windows窗口中很多都有滚动条。前面讲的列表框和组合框设置了相应属性后,... 查看详情

(转载)vs2010/mfc编程入门之二十三(常用控件:按钮控件的编程实例)

上一节VS2010/MFC编程入门教程中鸡啄米讲了按钮控件Button、RadioButton和CheckBox的基本用法,本节就继续讲按钮控件的内容,通过一个实例让大家更清楚按钮控件在实际的软件开发中如何使用。      因为Button控... 查看详情

vs2010-mfc(常用控件:编辑框editcontrol)(代码片段)

....jizhuomi.com/software/181.html 编辑框(EditControl)是一种很常用的控件,我们可以在编辑框中输入并编辑文本。在前面加法计算器的例子中已经演示了编辑框的基本应用。下面具体讲解编辑框的使用。      &nb... 查看详情

(转载)vs2010/mfc编程入门之二十二(常用控件:按钮控件buttonradiobutton和checkbox)

...正传,鸡啄米上一节中讲了编辑框的用法,本节继续讲解常用控件--按钮控件的使用。       按钮控件简介      按钮 查看详情

vs2010/mfc编程入门之五十一(图形图像:gdi对象之画刷cbrush)

...米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush。      鸡啄米依然是通过实例的方式来说明画刷的用法。此实例要实现的功能是,对话框上有一个按钮... 查看详情

vs2010/mfc编程入门之五十三(ribbon界面开发:为ribbonbar添加控件)

...程序框架,本节教程就来初步讲讲怎样为RibbonBar添加Ribbon控件。       VS2010为Ribbon界面开发提供了RibbonDesigner,通过它我们可以为RibbonBar添加各种Ribbon控件、设置控件属性和进行界面布局。&nbs 查看详情

(转载)vs2010/mfc编程入门之五十三(ribbon界面开发:为ribbonbar添加控件)

...程序框架,本节教程就来初步讲讲怎样为RibbonBar添加Ribbon控件。       VS2010为Ribbon界面开发提供了RibbonDesigner,通过它我们可以为RibbonBar添加各种Ribbon控件、设置控件属性和进行界面布局。 &nbs 查看详情

(转载)vs2010/mfc编程入门之五十一(图形图像:gdi对象之画刷cbrush)

...米主要讲的是画笔CPen的用法,前面也说了,GDI对象中最常用的就是画笔和画刷,本节就讲讲画刷CBrush。      鸡啄米依然是通过实例的方式来说明画刷的用法。此实例要实现的功能是,对话框上有一个按钮... 查看详情

vs2010-mfc(对话框:为控件添加消息处理函数)(代码片段)

...:http://www.jizhuomi.com/software/156.html  MFC为对话框和控件等定义了诸多消息,我们对它们操作时会触发消息,这些消息最终由消息处理函数处理。比如我们点击按钮时就会产生BN_CLICKED消息,修改编辑框内容时会产生EN_CHANGE消... 查看详情

vs2010/mfc编程入门之五十四(ribbon界面开发:使用更多控件并为控件添加消息处理函数)

 上一节中鸡啄米讲了为RibbonBar添加控件的方法。本节教程鸡啄米将继续完善前面的实例,讲解一些稍复杂的控件的添加方法,及如何为它们添加消息处理函数。       一、为RibbonBar添加更多Ribbon控件... 查看详情

vs2010radiobutton起始默认选中

VS2010MFC对话框中控件radiobutton起始默认选中如何设置?还有checkBox如何起始默认选中?方式一,控件属性里面有可以找到,更改属性值为true,方式二:代码设置,双击窗体进入窗体Load事件里面,radioButton.chechked=true参考技术A在Form... 查看详情

vs2010-mfc(mfc常用类:cstring类)(代码片段)

 转自:http://www.jizhuomi.com/software/228.html         CString类简介      CString类作为MFC的常用类,当之无愧。可以这样说,只要是从事MFC开发,基本都会遇到使用CS 查看详情

vs2010-mfc(mfc常用类:mfc异常处理)(代码片段)

 转自:http://www.jizhuomi.com/software/236.html 上一节讲了CFile文件操作类,本节主要来说说MFC异常处理。在鸡啄米C++编程入门系列的最后一节鸡啄米:C++编程入门系列之五十(异常处理)中讲了C++标准异常的处理机制,如果你... 查看详情

vs2010mfc项目配置属性的字符集为unicode和多字节时,两者转换后使用的控件外观不一样

...障正确显示的。追问那我要怎么改成在多字符集下,combo控件的正常显示呢?追答如果不是来回切换,那么在固定字符集下,资源中调整一下控件就可以了呀。如果希望一直能够来回切换,就比较麻烦了(个人感觉这两种直接的... 查看详情

vs2010-mfc(对话框:创建对话框模板和修改对话框属性)

...com/software/149.html 对话框,大家应该很熟悉了,在我们常用的软件中大多都有对话框界面,例如,360安全卫士的主界面其实就是个对话框,只是它做了很多美工方面的工作,将其大大美化了。 创建对话框主要分两大步,第... 查看详情

visualstudio2010(vs)--图片查看器(2)

...看器(2)上期回顾(上期主要完成了图片查看器的布局控件的设置及参数):这期将继续图片查看器,将要布局图片显示控件和按钮1.0左上角工具箱,拖动PictureBox控件到布局控件2.0找到图片显示控件,右上角有个小三角,选择... 查看详情