在考生文件夹下有myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单(在表单的load事件中运行菜单程序)。 新建立的菜单文件名为mymenu,结构如下(表单、报表和退出是菜单栏中的3个菜单项): 表

admin2014-11-30  12

问题 在考生文件夹下有myform表单文件,将该表单设置为顶层表单,然后设计一个菜单,并将新建立的菜单应用于该表单(在表单的load事件中运行菜单程序)。
    新建立的菜单文件名为mymenu,结构如下(表单、报表和退出是菜单栏中的3个菜单项):
    表单
      浏览课程
      浏览选课统计
    报表
      预览报表
    退出
    如图3-3所示。各菜单项的功能如下:
    ①选择“浏览课程”时在表单的表格控件中显示“课程”表的内容(在过程中完成,直接指定表名)。
    ②选择“浏览选课统计”时在表单的表格控件中显示简单应用题建立的视图sview的内容(在过程中完成,直接指定视图名)。
    ③选择“预览报表”时预览简单应用题建立的报表creport(在命令中完成)。
    ④选择“退出”时关闭和释放表单(在命令中完成)。
    注意:最后要生成菜单程序,并注意该菜单将作为顶层表单的菜单。

选项

答案步骤1:在命令窗口执行命令:CREATE MENU mymenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。在菜单设计器“菜单名称”列的文本框中依次输入“表单”、“报表”和“退出”3个主菜单名,“结果”下拉框中选择为“子菜单”,单击“表单”行的“创建”按钮进入下级菜单设计。 步骤2:在“菜单名称”列依次输入子菜单名“浏览课程”和“浏览选课统计”,选择“结果”列都为“过程”,分别单击两个“过程”后面的“创建”按钮打开过程编辑器,编写过程代码。 ※ “课程浏览”菜单命令的过程代码: Myform.Gridl.RecordSourceTvpe=1 Myform.Grudl.RecordSource="课程" ※ “选课统计浏览”菜单命令的过程代码: OPEN DATABASE学生管理 Myform.Gridl.ReCOrdSourceTVpe=0 Myform.Grudl.RecordSource="sview" 步骤3:通过“菜单级”下拉框返回主菜单项设计界面,以同样的方法,设计“报表”菜单项的下级子菜单“预览报表”,注意选择“预览报表”的“结果”项为“命令”,然后在后面的文本框中输入以下命令代码: REPORT FORM creport PREVIEW 步骤4:再次返回主菜单项设计界面,选择“退出”菜单命令的“结果”项为“命令”,并输入命令语句: myform.RELEASE 步骤5:执行【显示】→【常规选项】菜单命令,在弹出的“常规选项”对话框中勾选“顶层表单”复选框,然后单击“确定”按钮,保存修改。如图4—17所示。 [*] 步骤6:执行【菜单】→【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件,关闭菜单设计器。 步骤7:在命令窗口执行命令:MODIFY FORM myform,打开表单设计器。选中表单,在“属性”窗口中修改表单(Forml)的“ShowWindow”属性值设置为“2-作为顶层表单”。 步骤8:右击表单选择【数据环境】快捷菜单命令,在表单数据环境中单击右键选择【添加】快捷菜单命令,选择“视图”单选项,将sview视图添加到数据环境中。 步骤9:双击表单(Forml)编写表单的Load事件代码,代码如下: DO mymenu.mpi‘WITH THIS."TTT" 步骤10:单击“常用”工具栏叶1的“运行”按钮查看结果,将表单文件保存到考生文件夹下。

解析 本题主要考查的是菜单在顶层表单中的应用。主要包括两大部分的操作,即菜单设计和表单设计。操作过程可按以下步骤进行:
    通过菜单设计器建立菜单,注意主菜单和子菜单的建立。菜单设计有两个关键操作:一是在菜单设计器中勾选“常规选项”对话框中的“顶层表单”,表示此菜单存在顶层表单中;二是在释放表单时,要使用表单的文件名,即本题可以通过MAINFORM.RELEASE命令释放MAINFORM表单,注意:不要使用THSFORM.RELEASE命令释放表单。
    在表单设计过程中,要注意将表单设置为顶层表单,通过表单的showWindow属性值可以进行设置,而在表单中调用菜单文件是在表单的Load(或INIT)事件中进行调用,还需要通过THIS短语指定当前表单对象的引用。其基本格式为:DO<菜单文件.mpr>WITH THIS[,"<菜单内部名>"]。
转载请注明原文地址:https://kaotiyun.com/show/RoEp777K
0

最新回复(0)