第 11章 FoxPro生成器的使用
第 11章 FoxPro生成器的使用
11.1 屏幕生成器
11.2 菜单生成器
第 11章 FoxPro生成器的使用
11.1 屏 幕 生 成 器
FoxPro提供的屏幕生成器可用来方便地设计应用
程序的用户界面, 方便用户浏览和编辑数据, 并产生
相应的源程序代码 。 下面我们用一个简单的例子来说
明屏幕生成器的使用 。
例 使用屏幕生成器生成编辑职工,DBF的屏幕界面
的源程序代码, 要求屏幕格式如图 11— 1所示 。
第 11章 FoxPro生成器的使用
图 11— 1 屏幕编辑格式
第 11章 FoxPro生成器的使用
1.建立屏幕数据文件:编辑职工,SCX
( 1) 在 Command窗口中键入命令,CreateScreen编
( 2) 使用系统菜单,File→New→ 选中 (·)Screen单
选按钮 → 下推, OK,。
此时还未给屏幕数据文件命名, 系统缺省为:
Untitled.scx,要给文件命名, 再操作:
File→Saveas→ 输入文件名:编辑职工 → 单击, OK》
观察窗口标题条, 系统自动地为屏幕设计文件加上
扩展名,SCX。 此时屏幕设计窗口如图 11— 2所示:
第 11章 FoxPro生成器的使用
图 11— 2 屏幕设计窗口
第 11章 FoxPro生成器的使用
2,FoxPro的屏幕对象
FoxPro
( 1) 文字对象:包括文字数字与标点符号 。
( 2) 图形对象:包括线条与方框 。
( 3) 字段对象:包括数据库的字段, 内存变量,
数组元素, 表达式和用户自定义函数 。
( 4) 控制对象:包括触发式按钮, 单选钮, 复选
框, 隐藏弹出式菜单和下拉列表 。
第 11章 FoxPro生成器的使用
Screen选项的菜单中包含了可用来建立各个对象
的子功能选项,
Box,可建立方框与线条 。
Field,可建立字段对象 。
Text,可建立文字对象 。
PushButton,可建立触发式按钮 。
RadioButton,可建立单选钮 。
CheckBox,可建立复选框 。
Popup,可建立隐藏弹出式菜单 。
List,可建立下拉列表 。
Inv.Button,可建立隐藏式按钮。
第 11章 FoxPro生成器的使用
3,快速定义屏幕上的字段
如果屏幕设计窗是空的, 可以操作菜单:
Screen→QuickScreen,快速方便地将多个字段加入到屏
幕中 。
( 1) 操作 Screen→QuickScreen,如果职工,DBF还未
打开, 则出现打开文件对话框供用户选定数据库 ;如已
有数据库打开, 则系统默认该数据库为所需打开的数
据库, 用户也可通过操作 File→Open,另外选定数据库 。
最后出现如图 11—3所示的 QuickScreen对话框 。
第 11章 FoxPro生成器的使用
图 11— 3 QuickScreen对话框
第 11章 FoxPro生成器的使用
( 2 ) 选择字段在屏幕中的放置方式:单选
(·)ByRowLayout为横向排列, 形式如图 11—3中 Fields的
排列方式;单选 (·)ByColumnLayout为二列竖向排列 。 在
四个复选框中, 选中 [ × ] Titles,让字段名在屏幕上一
起显示;选中 [ × ] AddAlias,字段名前可加上数据库
文件别名; [ ] Fields复选框选择要显示的字段, 在本例
中, 职工表中的大部分字段都需要编辑, 不需要选中该
项; [ ] MemoryVariables复选框决定系统是否要自动生
成所有字段的相应内存变量 。
单击, OK,后, 屏幕设计窗口中出现职工,DBF的所
有字段 。
第 11章 FoxPro生成器的使用
( 3) 删除不需要的字段:选中, 简历, 字段对象,
按 Del键删除之;选中, 简历, 字段提示文本, 按 Del
键删除 。 用同样的方法删除, 性别, 字段对象及其字
段提示文本 。
( 4) 修改字段提示文本:选中, 婚否, 字段提示
文本, 将它修改为, 已婚?, 。 如果需要, 可用同样
的方法修改其它字段提示文本, 使提示文本的含义更
贴近用户习惯 。
第 11章 FoxPro生成器的使用
4,确定屏幕布局
用 QuickScreen放置好屏幕物体后, 一般还应重新
安排物体, 使屏幕布局满足用户的要求 。 方法是:先
用鼠标单击要移动的对象 ( 选中对象 ), 然后再用鼠
标把它拖到合适的位置 。
在移动对象的过程中, 要注意应该使字段对象与
相应的字段提示文本靠近, 可用 Shift键将它们同时选
中后再移动 ( 同时选中的方法是:先用鼠标选中一个
对象, 然后按住 Shift键选择第二个对象 ), 可以省去
在新位置上重新对齐的麻烦 。
第 11章 FoxPro生成器的使用
5,画方框
画方框的目的是为了给对象归类或者突出某些内
容, 本例中将所有要编辑的字段和字段提示文本放在
一个框中, 将所有的控制按钮放在一起, 在字段框中
又突出了职工号和姓名的地位 。
画方框的方法是:先确定方框左上角的位置, 然
后操作,Screen→Box, 屏幕出现一闪烁的矩形方框,
用鼠标将方框的右下角拖动到合适的位置即可 。
第 11章 FoxPro生成器的使用
6,定义单选按钮
图 11—1中性别的选择, (·)男 ( ) 女, 是一组单选
按钮 。
① 用鼠标把光标定位到放置单选按钮的地方 ( 如
图 11—1中部的上方 ) 。 操作,Screen→RadioButton 出
现单选按钮对话框 。
② 在 Vertical及 Horizontal单选钮中选择 Horizontal,
使所定义的单选钮水平放置 。
③ 在 RadioButtonPrompts下输入, 男,,, 女, 两
个文本提示, 并设置初始值 ( Initial) 为, 男, 。
第 11章 FoxPro生成器的使用
④ 单击 Variable按钮,在出现的选择字段或变量对
话框中单击, 性别, 字段,下推, OK,按钮完成设置。
7,定义下推按钮
首先把光标定位在第一个按钮将出现的位置, 然后
操作,Screen→PushButton, 在出现的下推按钮对话框
① 在下推按钮提示 ( PushBoutonPrompts) 框中输
第一条记录 \<F
下一条记录 \<N
前一条记录 \<P
最后一条记录 \<L
退出 \<Q
第 11章 FoxPro生成器的使用
② 下推按钮放置方式为垂直放置,单选 (·)Virtical。
③在 Variable文本框中输入一变量名,存放下推按
钮接受用户选择后的内容。本例中输入,POINT
④选中复选框中的[ × ] Valid选项,出现 Valid对
话框,单选 (·)Procedure,系统打开编辑窗,输入过程
DOCASE
CASEPOINT=1
GOTOP
CASEPOINT=2
第 11章 FoxPro生成器的使用
SKIP
IFEOF()
SKIP-1
ENDIF
CASEPOINT=3
SKIP-1
IFEOF()
SKIP
ENDIF
第 11章 FoxPro生成器的使用
CASEPOINT=4
GOBOTTOM
OTHER
CLEARREAD
ENDCASE
SHOWGETS
RETU0
第 11章 FoxPro生成器的使用
8,生成屏幕程序文件并运行屏幕
建立并保存了屏幕数据文件后, 就可以生成相应的
屏幕程序文件了 。
操作过程,Program→Generate→ 单击 GenerateScreen
对话框的 Generate按钮, 稍等片刻即生成了编辑职工,SPR
的屏幕程序文件, 当 OutputFile文本框缺省时, 系统在屏
幕数据文件相同的路径下生成同名的屏幕程序文件 。
要运行设计的屏幕, 操作,Run→Screen→ 双击
ScreenToRun,SPR。
或操作,Program→Do→ 双击文件列表框中的编辑
职工,SPR。
第 11章 FoxPro生成器的使用
11.2 菜单生成器
FoxPro提供了菜单生成器, 使用它, 用户可以很方便,
直观地设计自己的菜单系统, 并由菜单生成程序直接产生
菜单程序文件 。
1,打开菜单设计窗口
( 1) 操作菜单,File→New→ 选中 (·)Menu单选按钮 →
下推, OK》
( 2) 在 Command窗口中键入命令,CreateMenu菜单文
件名 。 11—4所示的菜单设计窗口 。
第 11章 FoxPro生成器的使用
图 11— 4 菜单设计窗口
第 11章 FoxPro生成器的使用
2,菜单设计窗口介绍
( 1) UNTITLEDMNX:窗口标题, 也是菜单文件名 。
由于还未给菜单文件命名, 系统给它一个缺省文件名 。
( 2) Prompt:设定每个菜单选项的提示, 中英文均
可 。 并且使用, \<”可以设定快捷键, 用, \-”作为定义
选项间的分隔线 。
( 3) Result:指定菜单选项的属性, 即用户选中该菜
单选项时将产生何种结果 。 菜单属性共有四种, 见表
11— 1。
第 11章 FoxPro生成器的使用
表 11— 1 菜单属性说明
第 11章 FoxPro生成器的使用
如选取了 Command或 PadName,在 Result列右边将
出现一个文本编辑框, 用户可输入一条命令 ( 当选取
了 Command) 或输入系统选项的名字 ( 当选取了
PadName) 。 如选取了 Submenu或 Proc.,在 Result列右
边将出现 Create下推按钮, 下推 Create按钮后可建立子
菜单 ( 当选取了 Submenu) 或输入用户编写的一个过
程 ( 当选取了 Proc.) 。
第 11章 FoxPro生成器的使用
( 4) Option:用来设定菜单项的其它一些属性 。 例如,
复选框中有符号, ×,时, 说明该选项属性已被设定过;
否则是未设定过 。 激活 Option按钮, 会弹出 Option对话框,
Comment:用来编辑用户参考用的注释 。
Shortcut:设定激活该菜单项的快捷键, 如,Ctrl+A,
Alt+F,Shift+E等等 。
Skipfor:定义该菜单项可选的条件, 当条件不成立
时, 该菜单项为无效项, 不能激活 。
PadName:定义菜单项名 。 如果菜单项没有命名, 产
生程序时, 程序生成器会自动产生一以下划线, -”开头
10个字符的名称, 为提高程序的可读性, 建议应定义一个
PadName。
第 11章 FoxPro生成器的使用
(5) 弹出式按钮 MenuBar:说明当前菜单是主菜单
条 。 当有多层菜单时, 该弹出框将列出当前可切换的
所有菜单名, 选择它可切换菜单的层次位置 。
( 6) Tryit下推按钮:在不产生源程序代码的情况
下, 预览菜单的显示效果 。
( 7) Insert按钮:在当前菜单选项前插入新的菜单
选项 。
( 8) Delete按钮:删除光标所在的菜单选项 。
第 11章 FoxPro生成器的使用
3,Menu菜单项的使用
打开菜单设计窗口后, FoxPro的系统菜单中增加
了 Menu菜单项,
( 1) GeneralOptions:在激活的 GeneralOptions对话
框中, 可以定义菜单的全局过程 ( 设置代码片段 ),
包括 Setup,Cleanup代码片段及用户定义的菜单与
FoxPro系统菜单的关系, 它在新菜单显示之后, 用户
选择选项之前执行 。
第 11章 FoxPro生成器的使用
(2) MenuBarOption:为主菜单或某一子菜单添加
公用过程 。 当在操作主菜单时输入一过程, 则只要选
取主菜单中的任一菜单选项, 都将执行该过程;当在
操作一子菜单时输入了一过程, 则该过程作用于子菜
单下的任一选项 。 注意:与 GeneralOption的 Procedure
文本框一样, 输入的过程只有当选定的菜单选项没有
定义其它过程的前提下才能执行 。
第 11章 FoxPro生成器的使用
( 3) Tryit,InsertItem,DeleteItem:作用与菜单设
计窗口中相应按钮的作用相同 。
( 4) QuickMenu:此选项只有当所建菜单内容为
空时才有效, 用来快速地生成用户的系统菜单 。 激活
该选项后, 在设计窗口中系统自动生成了与 FoxPro系
统菜单内容相同的菜单系统, 供用户修改, 补充 。 在
这里用户可以查看到 FoxPro系统菜单项及其子菜单选
项的名字 。
第 11章 FoxPro生成器的使用
4.
保存好刚建立的菜单文件 。
同屏幕生成器一样, 利用 FoxPro的菜单生成器可
以将设计好的菜单直接生成源程序 。 操作过程为:
Program→Generate→ 单击对话框的 Generate按钮, 稍等
片刻即完成 。
当 OutputFile文本框缺省时, 系统在菜单文件相同
的路径下生成同名的菜单程序文件, 后缀为,,MPR”。
要运行生成的菜单源代码, 操作,Program→Do→
双击文件列表框中刚生成的菜单程序名即可 。