当前课程知识点:VC++面向对象与可视化程序设计(下):MFC编程基础 >  第8章 在MFC中创建应用程序的资源 >  8-5 工具条资源的创建及其使用 >  8-5

返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频课程列表

8-5在线视频

8-5

下一节:8-6

返回《VC++面向对象与可视化程序设计(下):MFC编程基础》慕课在线视频列表

8-5课程教案、知识点、字幕

下面我们给大家继续介绍工具条资源的额创建和使用

在Windows应用程序中,工具条可以看作是图形化的菜单

是一种更快捷、更有效、更直观的人机交互方式

工具条内的层次位置和他常用方法是这样的

因为工具条是有CWnd类派生的

大家从这个类层次结构里面可以看到

CWnd下面派生了CControlBar

CControlBar下面有CToolBar

他们都连接到一个Windows应用程序的窗口

因此,CWnd的所有功能如创建、移动、显示和隐藏窗口等

在用控制条工作时都是可以使用的

这里有几个函数

比如说Create

它是创建一个工具条并把它附加到CToolBar对象上

SetSizes是设置按钮及位图的大小

SetHeight是设置工具条的高度

当然设置完必须装载

所以用LoadToolBar来装载工具条资源

LoadBitmap来装载包含工具按钮图像的位图

当然,装载之前需要设置

所以用SetBitmap来设置位图图像

以及SetButtons来设置按钮

并使每个按钮与位图图像相关

这时CToolBar类的主要的构造方法

当对工具条进行操作时我们要考虑这些问题

创建完成工具条后

我们可调用工具条类中的成员函数对工具条进行操作

比如设定工具条的风格

在窗口中移动工具条

以及控制工具条的显示或者隐藏等等

当鼠标的光标在工具条的按钮上暂停的时候

要显示工具提示和命令描述

并设定工具条的大小是可变的

那么我么可以用下面这个风格

比如说SetBarStyle

我们用的是TOOLTIPS

这是显示工具提示

FLYBY 停靠

这个FLYBY实际上是命令描述

停靠在工具条按钮的旁边

还有就是SIZE_DYNAMIC

这是工具条的大小是可变的

这里如果需要光标在按钮上暂停时

显示工具提示和命令描述

以及工具条的大小可变

如果要设置这个属性

大家可以考虑用这段代码

这样我们可以在程序中设置允许用户

在程序运行中在框架窗口内移动工具条

我们可以用EnableDocking来实现

EnableDocking是在窗口框架中移动工具条

这里有一个移动的样式Style

Style参数大家可以看一下我们的教材和MSDN

我们这里不细叙述了

下面我们通过一个例子介绍一下工具条的使用

比如我们在工具条中增加四个按钮

分别对应菜单的显示“红色”、“绿色” 和 “蓝色”菜单项

这个工具条可以在窗口中任意位置停靠

当鼠标停留在工具条按钮上时

将显示这个按钮的功能

首先我们要添加一个工具条

我们增加一个ToolBar的资源

我们在这里插入一个ToolBar

我们可以把它的ID属性修改为IDR_TOOLBAR_NEW

在这里面,它显示了一个按钮

大家看,刚才我们要求的题目里面是4个按钮

没关系,我们一个一个来

先选择它

然后我们选择一个黑色的工具框

设置成实心矩形工具框

实心矩形按钮底色做成粉红色

我们就给它填充成粉红色

由于上面要写一个Show中的S字母

我们用文本工具写一个S字母

字母可以选择用红色显示

这样的话,S就有了

当完成第一个按钮时,第二个空按钮自动显示

这时候仍然选择粉红色做背景

然后画一个红色的圆

好,这个红色的圆就画出来了

紧接着我们仍然做粉红色的背景

这个背景不一定粉红色

根据大家习惯

觉得什么颜色好就用什么颜色

下面我们选择一个绿色

画一个圆

这时候又出来一个空的按钮

我们选上,再给它填充成粉红色

这时候,我们选择画实心的圆,蓝

好,我们红绿蓝三个按钮做完了

为了是它的操作能够和菜单项的显示

以及红绿蓝这三个颜色的操作一致

我们必须为它设置ID

ID选择成跟菜单项的ID一致

我们选择ID_OPER_SHOW

这个大家知道选择红色

这个 绿色

这时候蓝色暂时放着不选

大家看它的ID是这个ID

那么我们看下是什么效果

我们给它生成一下

好,这时候我们看到工具栏并没有

我们先退出

因为我们创建了这个工具以后

我们要在MainFrame里面定义一个工具对象

是在主窗口框架里面建立的

因为我们工具栏是安到主窗口框架里面去了

好,我们给它增加一个变量

在主窗口框架里增加这么一个变量

这说明我定义了一个CToolBar类的对象

这个对象就是我4个按钮的工具拦

因为在资源文件里面我们定义的是ID_TOOLBAR_NEW

是对它创建的

然后我们在OnCreate函数里面

我们要增加上

一个是大家知道的

这个是EnableDocking,是停靠

然后DockControl

工具栏就在控件栏里面了

然后我们创建了一个

基于这个工具栏

这个只是一个工具栏对象

对象是什么样的工具

我们创建什么样的工具栏

它是什么样风格的

我们是在这里完成的

比如说,这三个

ToolTips Flyby跟Size_Dynamic

这个大家很熟悉了

这个是在Framework框架顶部创建

它是可见的

而且是一个子窗口性质的

我们主要定义了这么几个样式

然后我们加载ToolBar

如果没有加载

工具栏是不会出现的

我们加载了工具栏

这句话是对加载成功与否的判断

好,这时候我们重新生成一下

这时候大家看到了,工具栏有了

大家注意到,这里面蓝色的没有出来

因为刚才蓝色里面没有给它定义ID

所以红色、绿色,蓝色这个地方没有出来

显示也可以显示出来

这三个可以,这个不行

什么原因呢

刚才给大家介绍过

在这个工具栏里面

我没有给它定义ID

现在我回过头来给它定义ID

如果ID定义成ID_OPER_BLUE

这时候我们再测试一下

这个蓝色按钮出来了

而且可以工作了

也就是说

在这里要给大家提醒一下

当你安装了工具栏上面的按钮之后

这按钮要实现什么操作

必须跟菜单项里的某个菜单项的ID统一起来

如果没有统一起来

这个按钮是不工作的

为了工具条可以在窗口中停靠

可以在Create中增加这些代码

实际上这些代码系统会给我们自动地增加

如果不需要停靠

就不要增加

这一行是系统自动增加的

这一行也是系统自动增加的

这一行也是系统自动增加的

在这里面大家可以看到

这个是工具条可以在父窗口内任何一边进行停靠

这一行是父窗口允许子工具条窗口在任何一边停靠

第三个是父窗口内按照前面制定的风格停靠工具条

也就是说这三个是系统给你生成的

如果不要可停靠的工具栏

这个可以删掉

VC++面向对象与可视化程序设计(下):MFC编程基础课程列表:

第0章 课前讨论

-讨论实录

--0-0

第6章 MFC基础知识

-6-1 MFC概述

--6-1 MFC基础知识

-6-2 C++的基本知识

--6-2-1 类

--6-2-2 对象

--6-2-3 类的方法

--6-2-4 内联函数

--6-2-5 构造函数和析构函数

--6-2-6 重载

--6-2-7 友元函数

--6-2-8 友元类

--6-2-9 指针

--6-2-10 类的继承

--6-2-11 多态性和虚拟函数

-6-3 MFC类的组织结构及主要的类的简介

--6-3-1 MFC类的组织结构

--6-3-2 根类

--6-3-3 应用程序结构类

--6-3-4 可视对象类

--6-3-5 通用类

--6-3-6 OLE类

--6-3-7 ODBC数据库

-6-4 MFC中全局函数和全局变量

--6-4 MFC中全局函数和全局变量

第7章 Windows标准控件在可视化编程中的应用

-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章 在MFC中创建应用程序的资源

-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章 单文档与多文档

-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章 多媒体应用程序的设计

-10-1 利用音频函数实现多媒体程序设计

--10-1-1

--10-1-2

--10-1-3

--10-1-4

-10-2 利用Windows Media Player控件实现多媒体程序设计

--10-2

-课堂示例源代码

--html

第11章

-例11-1

--例1

-例11-2

--例11-2

-例11-3

--例11-3

-例11-4

--例11-4

-11-1 ODBC介绍与引用

--11-1

-课堂示例源代码

--html

第三次作业及答题链接

-第三次作业及答题链接

8-5笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。