第七章 设计菜单 一、教学内容 设计下拉式菜单,弹出式菜单和工具栏的设计。 二、目的要求 1.掌握菜单、工具栏的设计方法 2.理解菜单的各项属性、菜单项的增减 3.了解弹出式菜单 三、教学重点与难点 教学重点:菜单、菜单编辑器、菜单的高级应用、弹出菜单设计; 工具栏的设计 教学难点:菜单、工具栏的编程 四、教学方法 多媒体教学为主。适当提问,加深学生对概念的理解。 第一讲 (2学时) 一、教学内容 7.1菜单的设计 二、目的要求 1.了解菜单的功能和基本结构; 2.掌握用菜单编辑器设计下拉式菜单系统外观的基本方法; 3.理解并掌握编写菜单事件过程的方法。 三、教学重点与难点 教学重点: 1、下拉式菜单系统外观的设计方法; 2、编写菜单事件过程的方法。 教学难点: 1、编写菜单事件过程的方法; 2、剪贴板对象的应用。 四、教学方法 多媒体教学。 五、教学过程 (一)引入 菜单在windows应用程序中有广泛的应用,是应用程序界面中十分关键的要素之一,它以分组的形式组织多个命令和操作,为用户灵活操作应用程序提供了便捷的手段。 以学生所熟悉的Word2002的菜单系统为例讲解菜单的功能、结构,并对在后面要设计的内容进行演示和强调。 (二)菜单系统的功能 1.将应用程序的所有功能分类显示于菜单的选项中,以便用户选择。 2.管理应用系统,控制各种功能模块的运行。 (三)菜单系统的种类和结构 弹出式菜单 下拉式菜单:菜单栏(主菜单) 子菜单(菜单项) > ——级联菜单(最多可达6层,含菜单栏) 。。。——启动对话框 分隔线—— 带复选框的菜单项和子菜单项 有效和无效的菜单项和子菜单项 (四)VB中设计菜单的工具——菜单编辑器 1.菜单编辑器 (1)打开方法 工具——菜单编辑器 窗体上快显菜单/菜单编辑器 (2)作用 在菜单编辑器对话框中完成创建、编辑、修改菜单(添加/删除菜单项、调整菜单项的位置、定义菜单中的快捷键和访问键等工作)。 (3)结构(可借例题进行说明) 菜单控件属性区 编辑区 菜单项显示区 2.菜单控件 菜单系统是一个整体,但每一个菜单项分别是一个控件。因此,设计菜单同以往设计控件相似,要设置其属性和编写事件过程。 在设计阶段设置属性时就是用菜单编辑器;在程序运行时就通过代码实现。 菜单控件的主要属性 (可结合介绍菜单控件属性区) Caption(标题):程序运行时显示在菜单上的文字。 Name(名称):菜单项的控件名称,用来在代码中识别菜单控件。 通常菜单名称以mnu开头,它可以是简单控件的名称,也可以是控件数组的名称,若是后者,则还要指定索引值。 Visual Basic禁止在菜单控件未命名之前退出菜单编辑。 Checked(复选):设置是否选中标志。 Enabled(有效):决定菜单项是否对事件作出响应。(正常显示或灰色) Visible(可见):决定菜单项是否可见。 (2)菜单控件的事件 菜单控件只有一个click事件。 (五)下拉式菜单的设计(以简易文本编辑器的设计为例进行说明) 1.下拉式菜单的设计步骤 (1)建立窗体,添加控件; (2)打开菜单编辑器,进入菜单设计窗口; (3)设置各菜单项的属性; (4)为菜单项编写相应的事件过程。 2.菜单系统的外观设计 老师先示范设计文件主菜单,剩下的由学生上讲台完成。 (1)基本操作 “->”: 添4个点,表示等级降一级。主菜单 /子菜单/ 级联菜单 菜单项上移 “插入”:光标所在位置的上方插入。 (2)美化菜单 设置菜单分隔线(-):将菜单项分类,以便用户迅速找到所需的菜单项。 分隔线本身不是菜单项,因此不能带子菜单,不能设置除名称外的属性。 访问键(热键)&:定义菜单项的访问键。如文件为Alt+F。 ShortCut(快捷键):定义菜单项的快捷键,提高选取命令的速度。 快捷键下拉列表。 应尽可能地按Windows的习惯设置,如粘贴为Ctrl+V。 Checked:在菜单项上添加或去除选中符号。如Word中的工具栏。 既可以通过属性窗口设置,也可以通过代码设置。 Enabled:使菜单项失效或生效。如Word中未选中文本,则“复制”菜单项应无效。 Visible:隐藏和显示菜单。 3.编写菜单事件过程 完成菜单系统外观设计后,还必须为各个菜单项进行编码,才能真正做到通过选择菜单项来实现某项功能。 (1)最简单的情形 介绍实现关闭文件、设置文本字体和颜色等较为简单的功能的方法。 (2)菜单的控制——菜单项的状态 ①有效性控制Enabled 如Word中未选中文本,则“复制”菜单项应无效。 ②菜单项的复选标志Checked 有些对应的命令表示的是一种开关状态,只有两种可能的状态,因此,首先要判定它的属性值。 (3)剪贴板对象Clipboard ①剪贴板是内存的一部分区域,所有应用程序都能使用剪贴板中的信息。在VB中,所有与与剪贴板有关的操作是通过剪贴板对象实现的。 剪贴板对象是用于暂时保存图形和文本的一种特殊的控件,它是VB中预先定义好的控件组。 ②剪贴板对象没有任何属性和事件,但通过它的一些方法可以提供对系统剪贴板的访问(即发送和接收数据)。 ③方法: Clipboard.Clear 将剪贴板清空 Clipboard.SetText 将选中的字符串复制到剪贴板上 Clipboard.SetData 将选中的非文本数据复制到剪贴板上 Clipboard.GetText 将剪贴板上的字符串发送到光标所在位置 Clipboard.GetData 将剪贴板上的非文本数据发送到光标所在位置 ④应用时要注意的问题 。Text1.SelLength>0 。Text1 SelText 与Text1.Text的区别 。Len(Clipboard.GetText)>0 。Text1.SelText=Clipboard.GetText 和Text1.Text=Clipboard.GetText的区别 六、小结 在这一讲里我们要了解菜单的功能和基本结构,掌握用菜单编辑器设计下拉式菜单系统外观的基本方法, 理解并掌握编写菜单事件过程的方法。 七、作业 习题7.1,7.4 第二讲 (2学时) 一、教学内容 设计工具栏。 二、目的要求 1.掌握工具栏使用。 三、教学重点与难点 教学重点:文本工具栏、图形工具栏。 教学难点:工具栏有关部分程序的编写 四、教学方法 多媒体教学。 五、教学过程 7.3.1 设计工具栏 VB提供了Toolbar控件,可以快速的设计工具栏。 Toolbar控件不是标准控件,须将Toolbar控件调入工具箱。方法如下: 通过“工程”→“部件”→“控件”,再选中“Microsoft WindowCommomControl6.0”选项 1.设计文字按钮 制作文字按钮的步骤: (1)在窗体上添加了Toolbar控件后,移动鼠标在Toolbar1上单击鼠标右键,调出快捷菜单,选择“属性”。 (2)选择“按钮”标签,然后选择“插入按钮” 。 (3)在Caption标题栏输入想要显示的文字标题,然后在Key栏输入关键字,接着可在ToolTipText工具栏输入提示文字,最后在Style栏选择合适的按钮样式。 (4)重复步骤(3),建立“粗体” Check样式的工具按钮。 (5)重复步骤(3),建立“颜色” Dropdown样式的工具按钮。然后在“ButtonMenus”按钮菜单区选择“插入按钮菜单项”钮,建立颜色按钮的下拉式选项。 2.设计图形按钮 想要制作图形按钮,须事先准备好图片,然后利用ImageList控件将按钮图片加入,再将Toolbar控件的“ImageList”项指定为ImageList控件,这样就可以为为每一个按钮设计一个图片了 我们将上图中的“打开”和“粗体”按钮加上图片,具体步骤如下所示: (1)ImageList控件也是属于Microsoft Windows Common Control6.0中的控件,所以可以在调入Toolbar控件后,直接从工具箱调入至窗体。 (2)在ImageList控件上单击鼠标右键,调出快捷菜单,选择“属性”,然后选择属性页的“Image”标签,再选择按钮。调出“选择图片”的对话框,从中将所有合适的图片文件选中,选择“打开”,就可以将图片调入ImageList控件的Images栏中。 (3)在已做好Toolbar控件上单击鼠标右键,调出快捷菜单,选择“属性”,然后选择属性页的“General”标签,在ImageList栏选中ImageList1控件。 (4)选择Toolbar控件属性页上的“Buttons”标签,在Image栏选择ImageList控件上图片作为按钮上的图片。 (5)最后选择“确定”按钮,运行后的界面如下所示。 3.编写工具按钮的事件过程 一般编写工具按钮的事件过程是在Toolbar控件的ButtonClick事件中,代码通常利用Case语句及Button.Key来判定用户按下哪一个按钮,以便能执行相应的程序代码。如该工具按钮为带下拉式菜单的按钮,则在ButtonMenuClick事件中编写代码,利用ButtonMenu.Key来判定用户使用的是哪一个菜单项,其判断值为Key栏的设置值。 六、小结 工具栏是大多数应用程序不可缺少的一个部分,它将应用程序常用的菜单命令以按钮的方式呈现,使用户可以快速选择按钮,以执行相应的功能 七、作业 习题7.2,7.3