《第9章 菜单.ppt》由会员分享,可在线阅读,更多相关《第9章 菜单.ppt(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章章 菜单设计菜单设计第 2 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-1 菜单概述9-2 创建菜单9-3 工具栏的使用9-4 小结第第9章章 菜单设计菜单设计第 3 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录本章的主要内容有:本章的主要内容有:菜单的基本组成。菜单的基本组成。创建快速菜单的方法。创建快速菜单的方法。怎样利用菜单设计器创建菜单。怎样利用菜单设计器创建菜单。怎怎样样设设计计菜菜单单栏栏,创创建建主主菜菜单单和和子子菜菜单单,设置菜设置菜 单项或子菜单的功能。单项或子菜单的功能。怎样定义访问键和快捷键。怎样定义访问键和快捷键。怎样创建快
2、捷菜单。怎样创建快捷菜单。怎样创建工具栏。怎样创建工具栏。第 4 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-1-1 菜单系统的组成 菜单系统是由菜单栏、菜单标题、菜单和菜单项组成。Visual FoxPro 菜单系统示意图:菜单栏菜单菜单标题菜单项9-1 菜单概念菜单概念第 5 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录 菜单栏是用于放置多个菜单标题的。菜单标题是每个菜单的名称,单击菜单标题,可以打开一个对应的菜单。菜单是包含命令、过程和子菜单的选项单。菜单项是实现某一任务的选项栏。Visual FoxPro 系统为用户提供了创建应用系统菜单的工具,用户
3、利用菜单设计器可以设计与Visual FoxPro系统菜单相适应的自己的菜单系统。第 6 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-1-2 菜单系统的规划原则 创建菜单系统应根据菜单规划原则设置菜单,下面列出了菜单的规划原则:(1)按照用户所要执行的任务规划菜单系统,而不是根据应用程序的层次结构来设计菜单。(2)给每个菜单一个有意义的菜单标题。(3)在组织菜单中的菜单项时,可根据使用频率、逻辑顺序或字母顺序来考虑,以便于使用。(4)依据功能相近原则和顺序原则将菜单的菜单项进行逻辑分组,在逻辑组之间用分割线分割。(5)将菜单中的菜单项数限制在一个屏幕中。如果菜单项的数目超过
4、一屏,则应为其中的一些菜单项创建子菜单。(6)菜单和菜单项最好设置访问键和快捷键,以便可以快速选择。(7)使用易于理解的词汇来描述菜单和菜单项。(8)可在菜单项中混合使用大小写字母。第 7 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-1-3 系统菜单 典型的系统菜单一般是一个下拉式菜单,有一个条形菜单和一组弹出式菜单组成。其中条形菜单作为主菜单,弹出式菜单作为子菜单。当选择一个条形菜单选项时,激活相应的弹出式菜单。各菜单中常见的名称及内部名字如下表所示。第 8 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录表9-1 主菜单(_MSYSMENU)常见选项选项名称
5、内部名字文件_MSM_FILE编辑_MSM_EDIT显示_MSM_VIEW工具_MSM_TOOLS程序_MSM_PROG窗口_MSM_WINDO帮助_MSM_SYSTM第 9 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录表9-2 弹出式菜单的内部名字弹出式菜单内部名字“文件”菜单_MFILE“编辑”菜单_MEDIT“显示”菜单_MVIEW“工具”菜单_MTOOLS“程序”菜单_MPROG“窗口”菜单_MWINDO“帮助”菜单_MSYSTM第 10 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录表9-3“编辑”菜单(_MEDIT)常见选项选项名称内部名字撤消_MED
6、_UNDO重做_MED_REDO剪切_MED_CUT复制_MED_COPY拈帖_MED_PASTE清除_MED_CLEAR全部选定_MED_SLCTA查找_MED_FIND替换_MED_REPL第 11 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2 9-2 创建菜单创建菜单9-2-1 菜单设计步骤设计菜单的基本步骤一般细化为以下几点:l 打开菜单设计器;l填写菜单栏上的菜单项;l 设置菜单项动作;l 设置菜单项特性(热键、快捷键、备注信息等);l 设计每一个下拉菜单:l 填写下拉菜单中的菜单选项;l 设置菜单选项的动作;l 设置菜单选项特性(热键、快捷键、备注信息等);l
7、 保存菜单,生成菜单文件(*.mnx,.mnt);l 生成菜单源程序文件(*.mpr);l 运行菜单程序。第 12 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2-2 菜单设计器简介第 13 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录1菜单名称 用于指定菜单系统中菜单项的名称。2结果 指定菜单项所具有的功能。其下拉列表中包括4个选项。(1)子菜单:用户所定义的当前菜单有子菜单是选择此项。其右侧会出现一个“创建”按钮,单击该按钮,系统会弹出子菜单设计窗口,如图9.3所示。(2)命令:当在“结果”框中选择了“命令”选项,会在其右侧出现一“文本框”,可在此输入要
8、执行的命令。即为菜单项或子菜单指定一条Visual FoxPro 6.0的命令,用于完成指定的操作。(3)过程:如果所要执行的动作需要多条命令完成,而又无相应的程序可用,此时选择“过程”最为合适,它是一组命令的集合。当在“结果”框中选择了“过程”选项,会在其右侧出现一“创建”按钮,单击该按钮,会弹出编辑窗口,可在此窗口中输入过程代码。第 14 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录3选项单击“选项”按钮,会弹出“提示选项”对话框,用于设置键盘快捷键或用户定义的菜单系统中各菜单项的属性。4菜单级它用于显示当前所处的菜单级别,从其下拉列表中可以选择要处理的任一级菜单。第 15
9、 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录5插入 在当前菜单项的前插入一条空白的菜单项。6插入栏 单击“插入栏”按钮,会弹出“插入系统菜单条”对话框,用于插入标准的Visual FoxPro 6.0菜单项。7删除 删除当前菜单项。8预览 显示正在创建的菜单结果。第 16 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2-3 创建快速菜单创建快速菜单1 1、打开菜单设计器、打开菜单设计器2 2、创建快速菜单、创建快速菜单 单击系统菜单栏中的“菜单”,选择其中的“快速菜单”选项,执行“快速菜单”命令选项后,则在“菜单设计器”窗口中加载了系统菜单,供用户编辑使用
10、。菜单名称栏列出了Visual FoxPro 6.0 系统菜单标题,它后面括号中的“字母”为该菜单标题的访问键,如F,E等。“结果”栏显示的都是子菜单,表明它是个下拉式的菜单。“编辑”按钮表示可以对结果栏的内容进行编辑。“选项”按钮表示对应的菜单标题是否已在“提出选项”对话框作了设置。快速生成的菜单和系统菜单相同,但其中的功能项可以增加,也可以修改或删除。经过适当的编辑后,一个实用的快速菜单便生成了。所创建的菜单以.MNX为扩展名保存到磁盘上。第 17 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2-4 使用使用“菜单设计器菜单设计器”创建菜单创建菜单1.1.创建主菜单创建
11、主菜单 建立菜单文件,可以通过“菜单设计器”来完成。操作方法是:(1)打开“文件”菜单,选择“新建”选项。(2)在“新建”窗口,单击“菜单”,再按“新建文件”按钮。(3)在“新菜单”窗口,选择“菜单”。(4)在Visual FoxPro 系统主菜单下,打开“文件”菜单,进入“另存为”窗口。(5)在“另存为”窗口,输入菜单文件名,按“保存”按钮,返回到“菜单设计器”窗口。(6)在“菜单设计器”窗口,定义主菜单中各菜单子项的名字,结束创建主菜单的操作。第 18 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录2.2.创建菜单项创建菜单项 菜单选项设计完成后,还要给每个菜单选项指定任务,
12、菜单设计工作才算完成。菜单选项的任务,可以是子菜单、命令或过程。给主菜单选项中的各子菜单指定任务操作步骤方法是:(1)打开“文件”菜单,选择“打开”选项,进入“打开”窗口。(2)在“打开”窗口,输入菜单文件名,再按“确定”按钮,进入“菜单设计器”窗口。(3)在“菜单设计器”窗口,选择主菜单项“档案管理”;然后,选择“编辑”,进入“菜单设计器”子菜单操作窗口。(4)在“菜单设计器”子菜单操作窗口,指定菜单子项的任务。(5)在“菜单设计器”窗口,按“退出”按钮并保存菜单,结束指定子菜单任务的操作。第 19 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录(1)打开“文件”菜单。选择“打
13、开”选项。(2)在“打开”窗口,输入“菜单”文件名,进入“菜单设计器”窗口。(3)选择主菜单项,再选择“编辑”,进入“菜单设计器”子菜单操作窗口。在这一窗口,用户可以定义主菜单中各菜单子项的名字。(4)在“菜单设计器”窗口,按“退出”并保存菜单,结束创建子菜单的操作。3.创建子菜单创建子菜单给主菜单选项,创建子菜单。同样也要在“菜单设计器”中完成。操作方法是:第 20 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录 系统提供了设置快速访问键的功能,可以对菜单进行快速访问键的设置。建立菜单的快速访问键很简单,在快速访问键的前面加上“字母”即可。例如要为各个主菜单标题“文件”、“编辑
14、”、“浏览”、“退出”依次加上访问键标志,假定它们的访问键标志字母分别是:F、B、E和Q。可以按以下操作步骤设置:(1)在“项目管理器”中选择“其他”选项卡。在“其他”选项卡中选择“菜单”,选择“菜单1”,按“修改”按钮。(2)在“菜单设计器”中选择“文件”菜单项,然后将它修改为“文件(F)”。在“菜单设计器”中选择“编辑”菜单项,然后将它修改为“编辑(B)”。4 设置菜单的访问键设置菜单的访问键第 21 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录 在“菜单设计器”中选择“浏览”菜单项,然后将它修改为“浏览(E)”。在“菜单设计器”中选择“退出”菜单项,然后将它修改为“退出(
15、Q)”。(3)从“菜单”菜单选择“生成”。(4)在“项目管理器”选择“菜单1”表单,然后按“运行”按钮。此时出现了带有快速访问键的菜单。当在键盘上按“Q”键时,就会关闭出现的消息窗口。第 22 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录5 设置快捷键 按以下步骤操作完成:(1)在”菜单设计器”窗口中单击要定义快捷键的菜单或菜单项,如选择“新建”菜单项。(2)单击选定“新建”菜单项右侧的“选项”按钮,屏幕显示“提示选项”对话框,如图9.10所示。(3)在“提示选项文体”对话框的“键标签”框中,键入一组组合键,按下的组合键就是定义的快捷键,并显示在“键标签”框中。如键入组合键Ct
16、rl+N,键说明中默认为Ctrl+N,用户可更改键说明,如+N。(4)“提示选项”对话框中的“确定”按钮,返回菜单设计器,选项中出现对号标记,表明己作了设置。利用同样的方法,可给“打开”菜单项定义快捷键Ctrl+O。当用户在不显示“文件”菜单的情况下直接按Ctrl+0,系统就立即执行打开操作。第 23 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录6设置菜单项状态 利用定义快捷键的“提示选项”对话框,还可设置菜单项的状态。在“跳过”框中设置一个条件表达式,执行菜单时,根据表达式的逻辑值来确定菜单项是否可用。当表达式值为真时,该菜单为灰色显示,表示该菜单项不可用。否则,该菜单项为黑
17、色显示,表示该菜单项可用。另外还可以在“信息”框中输入状态信息,当用户选定该菜单项时,此信息就显示在状态栏中,第 24 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录 当菜单项较多时,根据功能的需要,可以使用分隔线将功能相近的菜单划分成逻辑组。比如在菜单项的“退出”菜单上方加入一条分隔线。可按以下操作步骤设置:(1)在“项目管理器”中选择“其他”选项卡。在“其他”选项卡中选择“菜单”,选择创建的菜单,按“修改”按钮。(2)在“菜单设计器”中选择“退出”菜单项,然后按“插入”。(3)在“菜单设计器”中的“菜单名称”栏输入“-”。(4)从“菜单”菜单选择“生成”。(5)在“项目管理器
18、”选择“快捷菜单”表单,然后按“运行”按钮。如果对菜单进行分组,只需在需要分组的地方插入一个菜单项,将这个菜单项的菜单名称设置为“-”即可。7对菜单项进行分组对菜单项进行分组第 25 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录8添加系统菜单项操作步骤设置:(1)在“菜单设计器”中选定“向导”菜单,将其“结果”框设置为“子菜单”,并单击其右侧的“创建”按钮,进入“向导”的子菜单设计器窗口。(2)单击“菜单设计器”中的“插入栏”按钮,屏幕显示“插入系统菜单栏”对话框。在“插入系统菜单栏”对话框中,选定要插入的菜单项。本例中依次将表、查询、表单和报表四个选项插入到“菜单设计器”中。
19、利用该方法,可以较方便地生成用户菜单项。第 26 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9定义菜单标题的位置定义菜单标题的位置(1)在“菜单设计器”的“菜单标题”列单击相应的菜单标题。(2)单击该菜单右侧的“选项”按钮,则出现“提示选项”对话框。(3)在“提示选项”对话框中有一个“位置”框,就是用来指定菜单标题位置的。“位置”框中共包括四个单选按钮,可以从中选定一种方式:l无:指定菜单标题不设置在菜单栏上。这等同于不选择任何选项。l 左:指定将菜单标题设置在菜单栏中左边的菜单标题组中。l中:指定将菜单标题设置在菜单栏中中间的菜单标题组中。l右:指定将菜单标题设置在菜单栏中
20、右边的菜单标题组中。【注意】只在编辑OLE对象时,该菜单定位选项才可用。第 27 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录10显示状态栏信息 当用户在选择菜单或菜单项时,如果在窗口下方的状态栏中显示一定的提示信息,并且该信息中包含欲选定对象的有关内容,这将给用户带来很大的方便。可以按下述方法进行操作:(1)在“菜单设计器”的“菜单标题”列单击相应的菜单标题。(2)单击该菜单右侧的“选项”按钮,则出现“提示选项”对话框。有两种方法在“信息”框中输入要显示的提示信息:l 在该文本框中直接输入提示信息。单击“信息”框右侧的浏览按钮,进入“表达式生成器”,在生成器的“信息”框中输入
21、提示信息。第 28 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2-5 创建快捷菜单创建快捷菜单1创建快捷菜单的步骤:创建快捷菜单的步骤:(1)在“项目管理器”的“其他”选项中,选择“菜单”选项,并单击“新建”按钮,打开“新建菜单”对话框。单击“快捷菜单”按钮,屏幕显示“快捷菜单”设计器窗口;(2)在快捷“菜单设计器”窗口中,添加剪切、复制、粘贴和删除菜单项,并分别指定它所完成的功能。也可以利用添加系统菜单项的方法添加以上四个菜单项 (3)保存新创建的快捷菜单,取文件名为快捷菜单1.mnx。(4)保存新创建的快捷菜单后,在“项目管理器”窗口中选择“快捷菜单1”并运行它,Vi
22、sual FoxPro 6.0 生成快捷菜单,同时产生快捷菜单1.mpr文件。第 29 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录2添加快捷菜单到表单中添加快捷菜单到表单中 前面通过学习和例题讲解,已经知道当创建一个菜单文件(文件扩展名为.mnx)后,运行该菜单,系统便会产生一个与菜单文件同名的其扩展名为.mpr的菜单源程序文件。利用所生成的菜单源程序文件,可以将生成的快捷菜单附加到控件或对象中。比如我们要将快捷菜单文件“快捷菜单1.mnx”,附加到前面已创建的“教师代课情况”表单中。可以按以下操作步骤设置:(1)在“表单设计器”窗口中打开“教师代课情况.scx”表单文件,在
23、“属性”窗口中,单击“方法程序”选项卡,选择RightClick Event属性,并双击它,这时屏幕出现过程编辑窗口。(2)在过程编辑窗口中键入:“D0 D:VFPA快捷菜单1.mpr”,然后保存该表单。经过上述操作后,就将快捷菜单“快捷菜单1”文件附加到表单“教师代课情况”中,运行表单“教师代课情况”,鼠标右键单击表单“教师代课情况”中的空白区域,即可弹出此快捷菜单。执行快捷菜单中的菜单项,可以完成相应的功能操作。第 30 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2-6 菜单系统的生成和运行菜单系统的生成和运行 1菜单系统的生成菜单系统的生成 用户在设计菜单时可随时利
24、用“预览”按钮观察自己的菜单和子菜单,只是此时不能执行菜单代码。当用户通过菜单设计器完成菜单设计后,如果用户不生成菜单程序文件(.MPR),系统将只生成菜单文件(.MNX),而.MNX文件是不能直接运行的。要生成菜单程序,可选择“菜单”中“生成”选项,如果用户是通过项目管理器来生成菜单的话,则当用户在项目管理器中选择“连编”或“运行”时,系统将自动生成菜单程序。2菜单系统的运行菜单系统的运行 可使用命令“DO”运行菜单程序,单文件名的扩展名.mpr不能省略。第 31 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-2-7 为顶层表单添加菜单为顶层表单添加菜单为顶层表单添加下拉菜
25、单的步骤如下:.在“菜单设计器”中设计下拉式菜单.菜单设计时,在“常规选项”对话框中选择“顶层菜单”复选框”.将表单的Show window属性设置为2,使其成为顶层表单.在表单的INIT事件代码中添加调用菜单程序的命令,格式如下:DO WITH This,”.在表单的Destory事件代码中添加清除菜单的命令,使得在关闭表单时能同时清除菜单,释放其所占用的内存空间.命令格式如下:RELEASE MEMU EXTENDED第 32 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-3 工具栏的使用工具栏的使用9-3-1 定制与建立工具栏定制与建立工具栏 如果要创建一个工具栏,让其
26、包含已有工具栏中没有的按钮,这就需要定制自定义工具栏来完成此任务。我们可以按下列步骤进行操作:在系统菜单的“文件”菜单中选择“新建”命令在打开的“新建”对话框中,选择“类”,打开“新建类”对话框。(1)在“工具栏”对话框中选择要打开的工具栏,在“工具栏”对话框中,系统提供了多种工具栏,在个工具栏前面都有一个复选框,只有选中复选框的工具栏才会被打开。然后单击“定制”按钮。(2)在“定制工具栏”对话框的“分类”列表框中选定一个工具栏,并在“命令按钮”区域中选择所需要的按钮,在对话框下部的“提示”区域中将显示一条信息,用以说明该按钮的功能。通过该提示可以方便地了解各工具栏中各按钮的功能,以便定制新的
27、工具栏。(3)将“命令按钮”区域中选择的按钮拖到“定制工具栏”对话框的外部,此时Visual FoxPro 6.0会自动建立一个名为Toolbarl的新工具栏,并且将刚选择的按钮放置在了里面。这样一个新的工具栏就生成了。(4)继续上面的操作,直到选择好所有的工具按钮,并将它们都拖至新建的工具栏中,然后单击“关闭”按钮。完成上述操作后,新工具栏就会显示在屏幕上。第 33 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-3-2 给新工具栏命名上述操作建立的新工具栏是由系统自动命名的。如果要为新工具栏指定一个名称,可按下列步骤进行操作:(1)从“显示”下拉菜单中选择“工具栏”,进入“
28、工具栏”对话框后单击“新建”按钮。(2)在“新工具栏”对话框的“工具栏名称”文本框中输入新工具栏的名称,如“表单工具栏”。(3)单击“确定”按钮。这样新建的工具栏就有了自己的名称。第 34 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录 在向工具栏类添加对象后,必须定义该对象所执行的操作,才有意义。在定义操作时一般都利用“属性”窗口中Click Event或DblClick Event来设置属性。比如给“打开”按钮定义一个操作,用于打开一个数据表。可通过下列操作步骤完成:(1)在类设计器窗口的工具栏中,选定一个定义操作的对象。这里我们选定“打开”命令按钮。在属性窗口中的“全部”选
29、项卡中,双击定义操作属性,如双击Click Event属性,屏幕出现一个过程编辑窗口。(2)在“过程编辑”窗口中,输入对象所完成的代码。本例中“新建”按钮所对应的代码:Create 9-3-3 定义对象操作定义对象操作第 35 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-4 实 例例9-1 P212例9-1 P213第 36 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录9-5 小结通过本章的学习,希望读者了解和掌握一下主要方面通过本章的学习,希望读者了解和掌握一下主要方面的内容:的内容:l了解菜单的基本组成。l掌握创建快速菜单的方法。l熟练掌握利用菜单设计器创建菜单。包括怎样设计菜单栏,创建主菜单和子菜单,为菜单项或子菜单确定功能,怎样定义访问键和快捷键等。l理解掌握创建快捷菜单。l理解掌握怎样创建工具栏。第 37 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录第9章 课后练习思考与练习一、1、2、3、4、5二、1、2、3、4、5三、1、2、3、4、5第 38 页 共 38 页上一步上一步下一步下一步关关 闭闭目目 录录
限制150内