基于数据库pdtmng建立如图1-31所示顶层表单应用,表单文件名为myform.scx,表单控件名为goods,表单标题为“商品”。 ①表单内含一表格控件Crrid1(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示produc

admin2013-03-31  27

问题 基于数据库pdtmng建立如图1-31所示顶层表单应用,表单文件名为myform.scx,表单控件名为goods,表单标题为“商品”。
    ①表单内含一表格控件Crrid1(默认控件名),当表单运行时,该控件将按用户的选择(单击菜单)来显示products.dbf中某一类商品数据,RecordSourceType的属性为“4-SQL说明”。
    ②建立菜单(菜单文件名为mymenu.mnx),其条形菜单的菜单项为“商品分类”和“退出”,“商品分类”的下拉菜单为“小家电”、“饮料”和“酒类”;单击下拉菜单中任何一个菜单命令后,表格控件均会显示该类商品。
    ③在表单的Load事件中执行菜单程序mymenu.mpr。
    ④菜单项“退出”的功能是关闭表单并返回到系统菜单(在过程中完成)。

选项

答案步骤1:在命令窗口执行命令:CREATE FORMmyform,打开表单设计器新建表单。从“表单控件”工具栏中向表单添加一个表格控件。 步骤2:在“属性”面板的下拉框中选择表单对象,在“全部”选项卡中修改对象属性值;表单及控件属性设置见表2-30。 [*] 步骤3:在命令窗口执行命令:CREATE MENU mymenu,在弹出的“新建菜单”对话框中单击“菜单”图标按钮,打开菜单设计器。 步骤4:在菜单设计器“菜单名称”列的文本框中依次输入“商品分类”和“退出”两个主菜单名,“商品分类”菜单命令的“结果”下拉框中选择为“子菜单”,单击“创建”。按钮进入下级菜单设计,在“菜单名称”列的第1、2、3行文本框中依次输入子菜单名“小家电”、“饮料”和“酒类”,将3个子菜单的“结果”都设置为“过程”,分别单击3个过程后面的“创建”按钮打开过程编辑器,编写过程代码。 步骤5:三个过程代码如下; “小家电”菜单命令的过程代码: myform.Grild1.RecordSource="SELECT products.*FROM products,cateaory WHERE cateuorv.分类编码=products.分类编码AND分类名称=’小家电’ INTOCURSOR lsb"。 “饮料”菜单命令的过程代码: myform.Grid1.RecordSource="SELECT products.*FROM Products.cateaorv WHERE cateaorv.分类编码=products.分类编码 AND 分类名称=’饮料’ INTO CURSOR 1sb"。 “酒类”菜单命令的过程代码: myform.Grild1.RecordSource="SELECT products.* FROM Products.cateaory WHERE cateaorv.分类编码=products.分类编码 AND 分类名称=’酒类’ INTOCURSOR 1sb" 步骤6:通过“菜单级”下拉框返回主菜单项设计界面,设置“退出”菜单项的“结果”列为“过程”,并通过单击“创建”按钮打开一个窗口来添加“退出”菜单项要执行的命令:myform:release。 步骤7:执行【显示】→【常规选项】菜单命令,在弹出的“常规选项”对话框中勾选“顶层表单”复选框,然后单击“确定”按钮,保存修改。如图2-60所示。 [*] 步骤8:执行【菜单】→【生成】菜单命令,在弹出的Visual FoxPro对话框中单击“是”按钮,接着系统会弹出“生成菜单”对话框,单击“生成”按钮生成一个可执行的菜单文件(mymenu.mpr)。 步骤9:在命令窗口执行命令:MODIFY FORMmyform,打开表单设计器。选中表单,在“属性”窗口中设置表单(goods)的“ShowWindow”属性值为“2-作为顶层表单”。 步骤10:双击表单(goods)编写表单的Load事件代码:DO MYMENU.MPR WITH THIS,.T.。 步骤11:单击“常用”工具栏中的“运行”按钮查看结果,将表单文件保存到考生文件夹下。

解析 本题的主要考核点是:表单控件的属性的修改、SQL语句运用、菜单的建立、顶层表单的设置等知识点。
    表单控件名用Name属性设置,标题用Caption设置。表格的RecordsourceType属性用来指明表格数据源的类型。
    为顶层表单添加下拉式菜单,应先在“菜单设计器”中按要求设计下拉式菜单,然后做两个设置:一是在“显示”菜单下的“常规选项”对话框中选择“顶层表单”复选框,说明该菜单应用在项层菜单中,二是将表单的ShowWindow属性值设置成“2-作为顶层表单”,使其成为顶层表单。在菜单设计时,“小家电”、“饮料”和“酒类”3个菜单项对应的操作应该由过程实现,分别通过SQL语句编写3个查询,并将查询赋值给表格Grid1的Recordsource属性。这里注意:查询的select语句要用引号引起来。
    在顶层表单中运行菜单,格式为:
    DO <文件名>WITH This[,  “<菜单名>”]
其中文件名指定为被调用的菜单程序文件,扩展名.mpr不能省略。This表示当前表单对象的引用。通过<菜单名>可以为被添加的下拉式菜单的条形菜单指定一个内部名字,也可以省略.在项层表单的菜单中关闭表单,应该引用表单的名称(Name值),并使用Release方法关闭表单:<表单名称>.Release。
转载请注明原文地址:https://kaotiyun.com/show/Vwsp777K
0

最新回复(0)