您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 其它办公文档 > 005十天学会易语言图解教程(王军)文字校正_第五章
97本章主要介绍应用程序菜单的制作。菜单在程序设计中是经常用到的,因为利用它可以达到有序组织程序功能模块的目的,大大方便了用户的使用。一般应用程序都带有一个组织有序、分工明确的菜单。制作菜单需要在窗口中使用鼠标右键弹出编辑菜单的命令,当输入菜单内容后,才可以在窗口上方显示菜单,但菜单也有它的事件,也有它的属性,因此,我们也将菜单作为一个组件来介绍。许多应用程序都会有菜单和工具栏,比如易语言的操作界面就有“文件”、“编辑”、“查看”和“插入”等菜单。建立菜单可以使程序界面变得简洁有序。下面就通过设计一个记事本的菜单来开始我们的学习吧。第5章制作菜单本章学习内容:5.1建立菜单5.5定位弹出菜单5.2菜单属性的设置5.6托盘式菜单5.3如何引用菜单项编程5.7菜单中的热键与分隔符5.4弹出式菜单5.8课后练习-双语菜单制作985.1建立菜单①可用两种方法打开菜单编辑器。第一种方法是选择菜单命令“工具”→“菜单编辑器”。或使用快捷键[Ctrl+E]。第二种方法是在窗体设计状态于窗体的空白区单击鼠标右键,在弹出的快捷菜单中选“菜单编辑器”。②先建立顶层主菜单。在“标题”框中输入“文件”后,就建立了第一个主菜单项,要建立第二个主菜单项单击“向后插入”按钮,在“标题”框中输入“编辑”······,依此类推,建立其余主菜单。99如果这时按下“确定”按钮,会弹出错误提示。这是因为还没有建立子菜单。所以还要补上子菜单。③先按照建立主菜单的方法建立某个菜单项,再点“右移→”按钮,它就会变成上一个菜单的子菜单。子菜单前面有若干点号(“....”号)。只要多点击几次“右移→”按钮,就可以实现多级菜单了。显然,“左移”按钮的作用是把一个低一级的菜单项变为高一级的菜单项。④菜单基本设计好后,点击确定按钮,回到窗体设计界面,可以看到菜单已经建立好了,点击主菜单,就会向下显示出下级菜单来,直接运行时也是这样。如不满意,还可以回到第一步对菜单进行修改。100菜单设计中的注意事项1.菜单设计中“标题”的内容可以重复,而“名称”不可以重复。这是因为标题只是显示在屏幕上供大家看的,而名称供程序引用,类似于按钮组件中的名称属性。只能是唯一的,不能重复。2.不能将一些阿拉伯数字放在名称的最前面。3.“标题”的文字可以和“名称”不一样。4.系统会自动删除“名称”属性中的空格,在“标题”中可以加入空格,而在“名称”前加入空格就会被自动删除。这是因为易语言规定变量、常量、对象、组件和子程序等的名称不能用空格。完成上述后按F5键运行程序,这时点击菜单项后一点反应也没有,这是因为还没有为每个菜单项加入程序代码。⑤如何为菜单项加入程序代码呢?请先结束程序,回到程序设计状态,可以直接用鼠标点选某一个子菜单项,即会自动进入程序代码设计界面。例如,用鼠标单击“帮助”→“关于”菜单项,会自动产生“_关于_被选择”的子程序。1015.2菜单属性的设置菜单也可以被视为组件,有它自己的一些属性,我们可以在设计时修改这些属性。在程序运行时,通过程序代码也可设置菜单的一些属性,在后面章节中会讲到。⑥现在就输入一行简单的命令,例如输入:信息框(“现在可以显示帮助信息了!”,0,)大家完成后,按F5试运行并测试一下关于菜单。运行时,用鼠标选中“帮助”→“关于”菜单项后点击,会运行“_关于_被选择”的子程序。而子程序就是弹出一个信息框。102“选中”属性表示是否在子菜单前面加个勾号(“√”)。“允许操作”属性表示菜单是否可以操作,若不选此项菜单在运行时呈现灰色。“可视”属性表示子菜单是否可以看见。“标题”属性是菜单显示的文字。可以重复,可以加空格。“名称”属性是程序内部引用的菜单的标识符。不可以重复,不可以加空格,且首字不能为数字。“快捷键”属性可以为每个子菜单项提供热键,通过快捷键可直接启动该菜单项所对应的程序。将“打开”菜单的“选中”属性和另两个属性勾选;将“关闭”菜单的“允许操作”属性和“可视”属性勾选,“选中”属性不勾选;将“退出”菜单的“允许操作”属性和“选中”属性勾选,“可视”属性则不勾选。最后运行程序,看看效果。可以看到菜单中“打开”菜单前有一个勾,“关闭”菜单变灰不可选了,“退出”菜单看不见了。103将“复制”菜单的快捷键属性设置为[Ctrl+C];将“粘贴”菜单的快捷键属性设置为[Ctrl+V]。设置完成后运行程序,看看菜单快捷键的效果。程序运行后,可以看到菜单标题后都加入了快捷方式。上面的菜单设计都是在可视设计状态下进行的,那么,能否用程序代码控制上述属性,从而让用户在使用中也可以改变菜单的属性呢?下面仅作一个小的试验即可知道。104打开前述例程,在窗体上添加一个按钮组件,双击此按钮组件,进入程序代码设计界面。在“_按钮1_被单击”子程序中输入一行程序代码:关于.可视=假运行这个易程序,在没有点击按钮之前,“帮助”菜单中的“关于”子菜单是可以显示的,但点击按钮后,“关于”子菜单就无法显示出来了。虽然菜单可被隐藏,但还是可以再次显示出来的。只要用以下程序代码即可实现:关于.可视=真1055.3如何引用菜单项编程前面只简单地利用了一个按钮控制菜单的属性,而菜单如何控制窗体中其它组件或执行命令功能呢?这就是本节所要介绍的。下面跟着例程来学习吧。①新建一个易程序,在窗口中添加一个图片框组件和一个通用对话框组件,并在图片框组件的属性表中将“边框”属性改为“镜框式”。②在窗口中点击鼠标右键,在弹出的快捷菜单中选“菜单编辑器”项,会弹出“菜单编辑器”对话框,建立一个主菜单,主菜单名为“图片”,子菜单有两个,分别为“加入图片”、“清空图片”。106③以上只差加入程序代码,让菜单能够执行了。在窗体中点击主菜单项,就会弹出下级子菜单,分别用鼠标点中子菜单就可以进入相应菜单的程序代码设计界面了。④分别在事件子程序中输入程序代码。⑤按F5键运行程序,选择“加入图片”子菜单就会弹出一个打开图片文件的对话框,从中选一张图片就会显示在图片框中。如果选中“清空图片”子菜单,就会清除图片框中的图片。。1075.4弹出式菜单前面的菜单是从窗口上部的菜单栏调用的,能不能不用菜单栏,直接点击图片框,从中弹出一个菜单进行操作呢?大家跟着本节实例制作的步骤来学习吧。①切换到窗口设计界面,激活图片框组件,在属性表中最下排的下拉列表中选“鼠标左键被按下”项。②输入一行程序代码即可。这句表示弹出名称为“图片”的菜单。最后运行程序看一下效果。108③程序运行后,大家通过用鼠标左键单击图片框,就会弹出菜单了。④如果希望在运行时也不显示该主菜单于窗口上部的菜单栏中,可以进入菜单编辑器,将“图片”菜单的“可视”属性去除勾选。去除后再运行程序看看效果。⑤程序运行后,就看不到“图片”主菜单了。1095.5定位弹出菜单前面的例子中,直接点击图片框后,在鼠标下方弹出一个菜单,能不能在鼠标上方弹出呢?这里再提供一个简单的例程,大家跟着本节实例制作的步骤来学习吧。打开前面的例程,将原弹出命令改为以下:弹出菜单(图片,取鼠标水平位置()-10,取鼠标垂直位置()-45)改完后再试运行一下。运行程序后可以看到,鼠标在图片框中点击后,会在上面弹出菜单。为什么会这样呢,让我们来分析一下程序代码。110实际上使用这样的菜单显示方式在一些场合还很多。如:使用图形按钮组件代替菜单栏,这时就要在该按钮下方显示菜单。这里是部分程序代码,可以看到每个图形按钮的被单击事件中都写入了定位弹出菜单的命令。使用键盘上的右方向键展开程序代码,可以看到是因为利用了弹出菜单命令的另两个参数,以设定弹出的位置。1115.6托盘式菜单前面的例程中,直接点击图片框后,从中弹出一个菜单,能不能在鼠标上方弹出呢?本节中将使用图片资源对菜单进行操作。①下面跟着我们的一个例程来了解一下。首先新建一个易程序,加入一个通用对话框控件,并加入一组菜单。②主菜单名为:“音乐操作”,子菜单项包括:“播放音乐”、“停止播放”、“退出”。菜单属性全部为默认状态。112④将图片资源中的“图片1”载入到系统托盘。③选择程序面板,展开其中的资源表,激活“图片或图片组”项。将一个图标作为图片资源导入到图片资源中。名称为:图片1。⑤用鼠标点击托盘程序,弹出“音乐操作”菜单。1135.7菜单中的热键和分隔符⑥结束当前歌曲的播放。⑧利用一个通用对话框选择MP3音乐文件并播放。⑦清空系统托盘图标,并结束程序。注意:如果程序退出之前不清空系统托盘图标,那么图标还将停留在托盘上。在“__启动窗口_托盘事件”事件子程序中,还可通过判断状态指示变量“操作类型”的数值使菜单按要求弹出。例如:如果真(操作类型=3)弹出菜单(音乐操作,,)一般程序中都设置有热键(快捷键),它们一般设置在相应的菜单项上,菜单项还可以设置访问键。下面把菜单项热键、访问键和分隔符的设置方法一起介绍给大家。系统托盘图标。114①在“菜单编辑器”设定菜单项的快捷键。②在标题中输入“文件(&F)”把该主菜单的访问键设置为“F”键。“&”就是将其后面的一个字母加下划线,就是用此方法设置菜单项的访问键。程序运行后,按下键盘上Alt键的同时,再按下菜单标题中带下划线的字母键(即访问键),就可以执行此菜单项。1155.8课后练习.编写两组菜单,一组为中文,一组为英文。添加一个选择框,在“_选择框_被单击”事件子程序中用“如果”命令编程从而显示其中一组菜单(用中文菜单替换英文菜单,模拟菜单被翻译)。③在标题中输入“-”(减号)键,可把该菜单项变为分隔条,对弹出菜单的子项进行分组。设置菜单访问键后的显示效果。设置菜单热键后的显示效果。增加菜单项分隔条的效果(程序运行后才能显示出来)。
本文标题:005十天学会易语言图解教程(王军)文字校正_第五章
链接地址:https://www.777doc.com/doc-3131384 .html