Windows编程基础--第13节 MFC之图片控件

标签: mfc windows
1883人阅读 评论(0) 收藏 举报
分类:

这节学习两个控件:

图片控件: Picture Control

1. 新建项目

新建一个基于对话框项目“day15”,布局如下,自行处理:
这里写图片描述
拖动一个Picture Control控件到界面,其实Picture Control就是CStatic 类;

设置Picture Control的如下属性:

属性 修改值 解释
ID IDC_STATIC_IMG 控件ID
Type Bitmap 设置类型为bitmap位图类型

如图:这里写图片描述

2.添加Bitmap 位图资源

自行下载几张.bmp位图,拷贝到项目的res文件下,然后切换到资源视图,添加Bitmap 资源,如图所示:
这里写图片描述
这里写图片描述
这里写图片描述
上传完成之后可以看到已经有三个Bitmap 位图的ID;
这里写图片描述

3.显示出位图资源

单击Picture Control控件,在属性中找到Image属性,在下拉框中选择我们刚才添加的位图ID就可以成功显示图片了,如图:
这里写图片描述

4.动态控制显示图片

在界面上添加一个按钮,我么通过按钮来切换界面图片显示:
这里写图片描述
接下来我们添加Picture Control控件的变量m_image,如图:
这里写图片描述
我们来编辑“切换按钮”的点击方法:

void Cday15Dlg::OnBnClickedButtonChange()
{
    // TODO: 在此添加控件通知处理程序代码
    HBITMAP phBmp = (HBITMAP)LoadImage(NULL,_T(".\\res\\20171031100114614.bmp"),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
    m_image.SetBitmap(phBmp);
}

代码解释:

  1. 获取一个位图的句柄
    2.将其设置到Picture Control控件

效果图:
这里写图片描述

5.配合CFileDialog 类来选择显示图片

我们来编辑“切换按钮”的点击方法:

void Cday15Dlg::OnBnClickedButtonChange()
{
    // TODO: 在此添加控件通知处理程序代码
    CFileDialog dlg(TRUE,NULL,NULL,OFN_FILEMUSTEXIST,_T("*.bmp|*.bmp"),this);
    if (dlg.DoModal() == IDOK)
    {
        HBITMAP phBmp = (HBITMAP)LoadImage(NULL,dlg.GetPathName(),IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
        m_image.SetBitmap(phBmp);
    }
}

代码解释:

  1. 创建一个.bmp类型的文件打开对话框
  2. 若点击确定按钮,则将选择的.bmp文件显示出来;

效果图:
这里写图片描述

Picture Control控件常见属性及方法:

一、图片控件属性

Picture Control 属性: Type:Frame //框架 Type:Etched Horz水平蚀刻线条 Type:Etched
Vert垂真蚀刻线条 Type:Rectangle实心矩形 Type:Bitmap位图 Type:Icon 图标
Type:Enhanced Metafile 增强图元 支持wmf格式图片 Type:Owner Draw 自绘图 Color:颜色
Black:黑
Gray:灰色
White:白色
Etched:蚀刻

二、Picture Control 控件类

CStatic:: SetBitmap Specifies a bitmap to be displayed in the static
control. GetBitmap Retrieves the handle of the bitmap previously set
with SetBitmap.

SetIcon Specifies an icon to be displayed in the static control.
GetIcon Retrieves the handle of the icon previously set with SetIcon.

SetCursor Specifies a cursor image to be displayed in the static
control. GetCursor Retrieves the handle of the cursor image previously
set with SetCursor.

SetEnhMetaFile Specifies an enhanced metafile to be displayed in the
static control. GetEnhMetaFile Retrieves the handle of the enhanced
metafile previously set with SetEnhMetaFile

项目源码可以访问我的码云

>>>我的私人博客<<<

查看评论

Windows编程基础--第8节 MFC对话框控件访问的七种方法(上)

MFC对话框控件具有以下三种访问方式(当然还有很多别的访问方式,今天时间紧急,先学这三种),分别是: 第一种 GetDlgItem()->GetWindowText() GetDl...
  • qq_25549309
  • qq_25549309
  • 2017-10-24 21:51:13
  • 2026

MFC基础控件自绘示例

  • 2014年03月29日 17:46
  • 56KB
  • 下载

Windows编程基础--第3节 初探MFC

前言 win32程序属于早期windows软件,已经逐渐被淘汰,但它的设计模式和方法大部分都被MFC所继承,并且MFC开始使用C++语言进行开发,借助C++比C语言的强大特性,使得开发windws...
  • qq_25549309
  • qq_25549309
  • 2017-10-19 22:17:46
  • 1908

Windows编程与MFC基础

  • 2009年06月05日 13:22
  • 381KB
  • 下载

第2节:成功无止境

第三章成功的终极解释  一、成功究竟是什么我们常问自己两个问题:  别人认为我成功吗?我认为自己成功吗?  那么,究竟什么是成功?最容易想到的往往是发财、升官、出名。这些只是成功的万个具象之一。成功最...
  • addictfmx
  • addictfmx
  • 2008-09-14 16:12:00
  • 365

第13节:目标伟大故人伟大

一、人伟大,是因为目标伟大同为有目标的人,有人成功了,有人未成功,有人大成功,有人小成功。这与目标的“大小”,有很大的关系。目标大,就是空间大时间长,也就是胸怀大志,有战略眼光;而小目标,一般只解决眼...
  • addictfmx
  • addictfmx
  • 2008-09-14 16:22:00
  • 393

Windows编程基础--第12节 MFC之树控件CTreeCtrl

树形控件(Tree Control):用来显示一系列项目的层次关系,最典型的例子是显示磁盘上的文件与文件夹。如果有子项目的话,单击树形控件中的项目可以展开或者收缩其子项目。MFC提供了CTreeCtr...
  • qq_25549309
  • qq_25549309
  • 2017-10-30 20:24:17
  • 2120

MFC基础控件简单运用

MFC是经典的开发桌面应用程序的C++ UI。MFC中对话框模式下有很多有用的控件,这里简要介绍部分控件的使用方法。开发环境:VS2015CBUTTON按钮控件新建基于对话框的应用程序MFCDemo,...
  • yunshiwan
  • yunshiwan
  • 2016-07-24 11:27:16
  • 403

C++开发技术实例讲解

  • 2013年02月24日 16:36
  • 1.34MB
  • 下载

孙鑫MFC视频第二节代码练习(一)类和结构体,类的定义和声明

#include //2014.9.6 //c语言和c++的结构体不同,c++的结构体中可以放函数,但默认是public类型的。 //c++中结构体和类通用,唯一的区别就是类默认的类型是privat...
  • lz465350
  • lz465350
  • 2014-09-06 16:00:32
  • 706
    个人资料
    持之以恒
    等级:
    访问量: 4万+
    积分: 711
    排名: 7万+
    文章存档