当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 > 第7章 Windows标准控件在可视化编程中的应用 > 7-4 静态控件 > 7-4
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表
返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表
我们现在一起来学习静态控件
一般情况下,静态控件是不发送消息的
在实际应用中
需要静态文本能够像超文本那样响应用户的输入
向应用程序发送控件消息
在实际应用中,静态控件还是有点用的
我们要想静态控件向应用程序发送控件消息
就要在创建静态控件时加入SS_NOTIFY样式
这个样式允许静态控件向其父窗口发送WM_COMMAND消息
这个消息的字参数的低字节包含静态控件的ID
高字节包含通知码
通知码是什么 通知码就是
单击静态控件、双击静态控件、激活静态控件和静止静态控件
所以通知码比较简单
下面通过一个具体的例子介绍一下静态控件的使用
这个例子是通过演示位图静态控件的使用方法
说明静态控件消息的强制生成和处理过程
单击位图时,要求报告这个位图的尺寸
好了,我们来完成应用程序的编写
我们把这个工程文件的名字叫做7_3
我们完成了应用程序的基本框架
我们主要的方法是要在资源文件中导入一张位图
首先我们要向对话框放置一个静态的控件
然后属性里面设置ID,设置成IDC_STATIC_BMP
设置Notify为True
然后为这个控件添加一个成员
数据类型为Cstatic,变量的名字叫m_bmp
我们就给它增加了一个成员
这个时候 我们要显示一个图
图在哪里呢 我们图先拿过来
比如7_3里放置了一张图
这是从其他地方拷贝过来的
大家可以拷贝一张感兴趣的位图
这个图只显示两个字“大学”
这是一张位图,大家看到的是BMP文件
从这里资源文件里面要添加一个资源
这个资源是一个位图
由于已经有一个位图
放在7_3的文件夹里
所以我们导入这张位图
位图是在D盘的VC++里面的7_3下面
导入这张位图
这张位图就打开了
这个位图导入 就在这个地方了
我们也可以看一下这张位图的属性
这里相对路径、位图的名称都在这里
都可以看到
我们下面要做的事情就是在OnInitDailog函数中
对位图的加载进行操作
实际上也是初始化的一个过程
这样我们看一下
在OnInitDialog里面
我们要做什么工作
在OnInitDialog里面我们增加了如下代码
一个就是这个位图
然后 ModifyStyle 把样式变成位图
然后,加载位图
然后,设置这个位图
我们主要做这三件事
就可以了
这个时候 还要响应鼠标单击消息
因为(是)单击了静态控件之后
显示这个位图
我们还要为静态控件添加一个单击鼠标左键的消息
我们就用缺省的函数的名字
这时候就添加了一个鼠标单击的消息
这时候要添写通知处理程序的代码
定义了一个bmp位图的变量
这是基于BITMAP数据结构的
然后获取这个位图的信息,选入内存
这里是sizeof(BITMAP)
实际上就把这个BITMAP整个数据
按它字节的大小全部载入
载入完了,定义了一个消息的字符串
然后我们把位图的高度和宽度
高度和宽度怎么来的
因为我们定义了这个位图
然后把位图的地址取出来后
应该说通过GetBitmap()
已经把位图的信息获取了
获取完就包含了它的宽度和高度
然后把宽度值和高度写入“Image Size %d*%d”
按这么一个格式写入到msg字符串里面去
然后通过一个消息框把字符串显示出来
这时候程序运行的时候
单击这个位图
马上就显示位图的尺寸大小
-讨论实录
--0-0
-6-1 MFC概述
-6-2 C++的基本知识
--6-2-1 类
--6-2-2 对象
--6-2-6 重载
--6-2-9 指针
-6-3 MFC类的组织结构及主要的类的简介
--6-3-2 根类
-6-4 MFC中全局函数和全局变量
-7-1 概述
--7-1-1
--7-1-2
-7-2 按钮控件及其应用
--128B12447816EEF99C33DC5901307461
-7-3 按钮控件及其应用
--7-3
-7-4 静态控件
--7-4
-7-5 列表框控件
--7-5-1
--7-5-2
-7-6 编辑框控件
--7-6
-7-7 组合框控件
--7-7
-7-8 对话框通用控件
--7-8-1
--7-8-2
-讲义源代码
--html
-8-1&2 资源的应用以及菜单资源的使用
--8-1-1
--8-1-2
-8-3 快捷菜单的创建及其应用
--8-3
-8-4 加速键资源的创建及其使用
--8-4
-8-5 工具条资源的创建及其使用
--8-5
-8-6 字符串资源的使用
--8-6
-8-7 位图资源的创建及其使用
--8-7
-课堂示例源代码
--html
-第一次作业内容及要求
--html
--第一次作业及答题链接--作业
-9-1 概述
--9-1
-9-2 Doc/View框架的主要成员
--Video
-9-3 文档操作中的一些重要概念
--Video
-9-4 SDI编程实例
--Video
-9-5 MDI编程实例
--9-5-1
--9-5-2
-课堂示例源代码
--html
-第二次作业内容及要求
--html
--第二次作业及答题链接--作业
-10-1 利用音频函数实现多媒体程序设计
--10-1-1
--10-1-2
--10-1-3
--10-1-4
-10-2 利用Windows Media Player控件实现多媒体程序设计
--10-2
-课堂示例源代码
--html
-例11-1
--例1
-例11-2
--例11-2
-例11-3
--例11-3
-例11-4
--例11-4
-11-1 ODBC介绍与引用
--11-1
-课堂示例源代码
--html
-第三次作业及答题链接