vf菜单设计.ppt
第7章 菜单设计与应用1本章要点本章要点nVisual FoxProVisual FoxPro系统菜单系统菜单n下拉式菜单设计下拉式菜单设计,新建菜单、定义菜单、运新建菜单、定义菜单、运行菜单程序、测试菜单系统行菜单程序、测试菜单系统n快捷菜单设计快捷菜单设计nVisual FoxProVisual FoxPro系统概述。系统概述。27.1 Visual FoxPro系统菜单37.1.1 菜单结构n1菜单类型n条形菜单n每一个条形菜单都有一个内部名字和一组菜单选项,每个菜单选项都有一个名称(标题)和内部名字。n弹出式菜单n每个弹出式菜单也有一个内部名字和一组菜单选项,每个菜单选项则由一个名称(标题)和选项序号。47.1.2 系统菜单n1重新配置系统菜单n命令格式:nSET SYSMENU ON|OFF|AUTOMATICn|TOn|TOn命令说明:nTO表示重新配置系统菜单,以内部名字列出可用的弹出式。nTO表示重新配置系统菜单,以条形菜单项内部名表列出可用的子菜单。nTO DEFAULT表示将系统菜单恢复为缺省配置。57.2 下拉式菜单设计67.2.1菜单设计的基本过程7n1新建菜单n方法:n利用“项目管理器”新建菜单n在项目管理器中选择“其他”选项卡中的“菜单”,单击“新建”按钮调出“新建菜单”对话框。n利用菜单命令修改菜单n打开“文件”菜单,选择“新建”命令,弹出“新建”对话框;在对话框中选择“菜单”按钮,单击“新建文件”按钮,弹出“新建菜单”对话框;选择“新建菜单”按钮,调出“菜单设计器”窗口。n利用窗口命令修改菜单n命令格式:CREATE MENU FileName|?8n2修改菜单n方法:n利用菜单命令修改菜单n选择“文件”菜单中的“打开”命令,弹出“打开”对话框。n在“文件类型”中选择菜单(.MNX文件),然后选取文件,单击“打开”按钮弹出“菜单设计器”。n利用“项目管理器”修改菜单n在项目管理器中选择“其他”选项卡中的“菜单”。n选择所需修改的菜单,单击“修改”按钮弹出“菜单设计器”。n利用窗口命令修改菜单n命令格式:MODIFY MENU FileName|?9n3定义菜单n方法:n在“菜单设计器”窗口中定义菜单,指定菜单的各项内容。选择“文件”菜单中的“打开”命令,弹出“打开”对话框。n指定完菜单的各项内容后,应将菜单定义保存到.mnx文件中。n4生成菜单程序n方法:n在菜单设计器环境下,选择“菜单”菜单中的“生成”命令。n在“生成菜单”对话框中指定菜单程序文件的名称和存放路径。n单击“生成”按钮。10n5运行菜单程序n方法:n使用命令“DO”运行菜单程序,但文件名的扩展名.mpr不能省略。n6测试菜单系统n方法:n选择“菜单”中的“生成”。n在弹出的“生成菜单”对话框的“输出文件”框中输入生成的菜单程序的名称。n选择“生成”按钮,就会生成扩展名为.mpr。n“程序”菜单中,选择“运行”命令,或者单击工具栏上的“!”按钮,运行此程序。117.2.2定义下拉式菜单n1定义菜单项名称n在指定菜单名称时,可以设置菜单项的访问键,方法是:n在作为访问键的字符前加上“”两个字符。n系统还提供了在两组之间插入一条水平的分组线,方法是:n在相应行的“菜单名称”列上输入“-”两个字符。12n2定义菜单项动作n菜单项动作在“结果”列处定义。单击该列将出现一个下拉列表框,有命令、过程、子菜单和填充名称或菜单项等四种选择。n3设置菜单项选项n设置对话框的菜单项属性n快捷方式n跳过n信息n主菜单名或菜单项#13n4菜单项的其他按钮n“插入”按钮n“插入栏”按钮n“删除”按钮n“预览”按钮n移动按钮n5“显示”菜单n“常规选项”对话框n选择“显示”菜单中的“常规选项”,将弹出设置菜单的常规选项对话框。14n“菜单选项”对话框n选择“显示”菜单中“菜单选项”命令,就会打开“菜单选项”对话框。n在这个对话框里,可以定义当前弹出式菜单的公共过程代码。n如果当前弹出式中的某个菜单项没有规定具体的动作,当选择此菜单选项时,则执行该缺省过程代码。157.2.3为顶层表单添加菜单n1方法:n在“菜单设计器”窗口中设计下拉式菜单。n菜单设计时,选择“常规选项”对话框中的“顶层表单”复选框。n在表单设计器环境下,将表单的ShowWindow属性值设置为2,使其成为顶层表单。n在表单的Init事件代码中添加调用菜单程序的命令,格式如下:DO文件名WITH This,“菜单名”n在表单的Destroy事件代码中添加清除菜单的命令,使得在关闭单表时能同时清除菜单,释放其所占用的空间。167.3 快捷菜单设计17n1建立快捷菜单n方法:n选择“文件”菜单中的“新建”命令。n选择“新建”对话框中的“菜单”按钮,单击“新建文件”按钮。n选择“新建菜单”对话框中的“快捷菜单”按钮,打开“快捷菜单设计器”窗口。n在“快捷菜单设计器”窗口中设计快捷菜单,单击“菜单”下的“生成”命令,生成菜单程序文件。n在表单设计器环境下,选定需要添加快捷菜单的对象。n在属性窗口的方法程序列表框中,双击“RightClick Event”项,在选定对象的RightClick事件代码中添加调用快捷菜单程序的命令:DO快捷菜单程序文件名 18n例如:为某表单建立一个快捷菜单KJCD,其选项有:日期、时间、放大和缩小,时间与放大之间用分组线分隔,如下图所示。选中日期或时间选项时,表单标题将变成当前日期或时间。选中变大或变小选项时,表单大小将缩放百分之十。19菜菜单单名称名称结结 果果日期(日期(D)过过程:程:s=DTOC(DATE(),1)ss=LEFT(s,4)+年年SUBS(s,5,2)+月月+RIGHT(s,2)+日日mfRef.CAPTION=ss时间时间(T)过过程:程:s=TIME()ss=LEFT(s,2)+时时SUBS(s,4,2)+分分+RIGHT(s,2)+秒秒mfRef.CAPTION=ss-加分加分组线组线分隔上下两分隔上下两项项放大(放大(L)过过程:程:w=mfRef.WIDTHh=mfRef,HEIGHTmfRef.WIDTH=w+w*0.1mfRef.HEIGHT=h+h*0.1缩缩小(小(S)过过程:程:w=mfRef.WIDTHh=mfRef,HEIGHTmfRef.WIDTH=w-w*0.1mfRef.HEIGHT=h-h*0.1n快捷菜单各选项的名称(标题)和结果如下表所示。20n操作步骤:n(1)打开“快捷菜单设计器”窗口,按表所列的内容定义快捷菜单中各选项的内容。n(2)选择“显示”菜单中的“常规选项”命令,打开“常规选项”对话框。n(3)依次选择“设置”和“清理”复选框,打开“设置”和“清理”代码编辑窗口,快捷菜单的“设置”代码是一条接收当前表单对象引用的参数语句:nPARAMETERS MFREFn(4)快捷菜单的“清理”代码中包含清除快捷菜单的命令:nRELEASE POPUPS kjcdn(5)选择“显示”菜单的“菜单选项”命令,打开“菜单选项”对话框,在“名称”框中输入快捷菜单的内部名字kjcd。21n操作步骤:n(6)单击“文件”菜单中的“保存”按钮,将结果保存在菜单定义文件kjcd.mnx和菜单备注文件kjcd.mnt中。n(7)单击“菜单”菜单中“生成”命令,产生快捷菜单程序文件kjcd.mpr。n(8)打开标题为“快捷菜单”的表单,在表单的RightClick事件代码中添加调用快捷菜单的命令:nDO kjcd.mpr WITH This2223