370 likes | 509 Views
Visual FoxPro 程序设计. 河南财专信息工程系. 2014/11/6. 第 9 章 表单设计. 9.1 表单向导 9.2 表单设计器 9.3 类的设计. 第 9 章 表单设计. 9.1 表单向导. 在 VFP 中,对话框、向导、设计器等各种窗口统称为表单。表单是最常用的用户操作界面工具。表单文件的扩展名为 SCX ,表单备注文件的扩展名为 SCT 。 VFP 提供了两种表单设计工具 — 表单向导与表单设计器。 9.1 表单向导
E N D
Visual FoxPro 程序设计 河南财专信息工程系 2014/11/6
第9章 表单设计 • 9.1 表单向导 • 9.2 表单设计器 • 9.3 类的设计
第9章 表单设计 9.1 表单向导 在VFP中,对话框、向导、设计器等各种窗口统称为表单。表单是最常用的用户操作界面工具。表单文件的扩展名为SCX,表单备注文件的扩展名为SCT。VFP提供了两种表单设计工具—表单向导与表单设计器。 9.1 表单向导 表单向导能引导用户对选定表产生实用的表单维护窗口,窗口中含有所选取的字段,还包含供用户操作的各种按钮,具有翻页、编辑、查找、打印等功能。 表单向导能产生两种表单:单表表单和一对多关系表单。
第9章 表单设计 9.1 表单向导 例:使用表单向导创建一个能维护TEACHER.DBF的表单。 操作步骤: 1.打开表单向导:在文件菜单中选择新建,弹出新建对话框,选择表单,单击向导按钮,弹出向导选取对话框。
第9章 表单设计 9.1 表单向导 2.根据需要选择表单向导或一对多表单向导,本例选择表单向导,单击确定按钮。
第9章 表单设计 9.1 表单向导 3.在表单向导对话框中,单击数据库和表的浏览按钮,在弹出的对话框中选定TEACHER.DBF。
第9章 表单设计 9.1 表单向导 • 4.将可用字段列表框中的所有字段移到选定字段列表框中。单击下一步。 • 5.选择表单样式,共有9种表单样式。如选浮雕式,单击下一步。 • 6.在排序次序中选择排序字段,如选择月收入。再选择排序方式,升序或降序。如选择升序,单击下一步。 • 7.在表单标题框中键入“教师管理”,选择保存方式(共有三种保存方式,本例选择“保存表单以备将来使用”),单击完成。 • 8.在另存为对话框中输入要保存的表单名JSGL.SCX,单击保存。
第9章 表单设计 9.1 表单向导
第9章 表单设计 9.1 表单向导 9.执行表单,选定程序菜单中的运行,在运行对话框中的文件类型中选择表单,在文件列表中选择JSGL.SCX。单击运行(也可用DO FORM JSGL命令运行表单)。
第9章 表单设计 9.2 表单设计器 1.表单设计器的特点 (1)不但能创建表单,而且可以修改表单。 (2)操作界面可视化。 (3)表单设计面向对象。 2.表单设计器的基本操作 新建表单操作步骤: 第一步,打开表单设计器。打开文件菜单中的新建,选择表单,单击新建文件按钮(或用MODIFY FORM〈表单文件名〉),便可打开表单设计器。
第9章 表单设计 9.2 表单设计器
第9章 表单设计 9.2 表单设计器 第二步,在表单中添加控件。 第三步,设置对象属性。 第四步,设置对象的方法程序。 第五步,保存表单。表单设计完成后,可通过文件菜单中的保存命令或按Ctrl+W存盘。 第六步,运行表单。可利用程序菜单中的运行命令,也可用DO FORM〈表单文件名〉运行表单。
第9章 表单设计 9.2 表单设计器 下面通过实例来说明表单的设计。 例1:设计只含一个文本框控件的表单,要求逐次单击文本框的内部能轮流显示当前日期与时间。
第9章 表单设计 9.2 表单设计器 (1)创建表单:MODI FORM RQSJ 屏幕显示RQSJ表单设计器窗口。 (2)创建文本框:单击表单控件工具栏中的文本框按钮,然后单击FORM1表单窗口某处,该处就会产生一个TEXT1文本框控件。
第9章 表单设计 9.2 表单设计器 (3)将表单的CAPTION属性改为"日期与时间":在表单窗口单击右键,选择属性,弹出属性窗口,在属性列表中选定CAPTION,在文本框中输入"日期与时间",回车后表单标题变为日期与时间。
第9章 表单设计 9.2 表单设计器 (4)表单中LOAD事件代码的编写:双击表单窗口打开代码编辑窗口,在对象组合框中确定FORM1选项,在过程组合框中确定LOAD事件选项,在编辑区输入代码: PUBLIC I &&Load事件在表单装入内存时触发,设置I为公共变量
第9章 表单设计 9.2 表单设计器 (5)在对象组合框中TEXT1和过程的CLICK事件代码编写如下: IF I=.T. &&变量I用于控制轮流显示 THISFORM.TEXT1.VALUE=DATE() THISFORM.TEXT1.DATEFORMAT=12 &&日期格式设置为年月日 THISFORM.TEXT1.DATEMARK=“.” &&年月日间符设置为圆点 I=.F. &&触发CLICK事件I值就变反 ELSE THISFORM.TEXT1.VALUE=TIME() I=.T. &&触发CLICK事件I值就变反 ENDI
第9章 表单设计 9.2 表单设计器
第9章 表单设计 9.2 表单设计器 (6)保存表单:表单设计完成后,按Ctrl+W存盘。 (7)运行表单:DO FORM RQSJ
第9章 表单设计 9.2 表单设计器 例2:创建一个用户登录系统的表单(DL.scx),要求以zgbh表中姓名字段作为用户名,以职工号字段为口令进行登录。表单的功能是:输入用户名和口令,单击“确认”按钮,系统检测用户名和口令是否正确,如果正确,则允许登录系统,否则提示重新输入,如果三次输入错误,则关闭系统。
第9章 表单设计 9.2 表单设计器 操作步骤如下: 1.创建ZGBH.dbf,字段包括职工号(C,4),姓名(C,6)。 2.登录界面设计 单击"新建"按钮,弹出新建对话框,选择"表单"单选按钮,单击"新建文件"按钮,打开"表单设计器"窗口。 在表单上创建三个标签(Label1、Label2、Label3),一个组合框(Combo1),一个文本框(Text1),两个命令按钮(Command1、Command2)。
第9章 表单设计 9.2 表单设计器
第9章 表单设计 9.2 表单设计器 3.添加对象属性NUM,用于记载登录次数。 选择"表单"菜单中的"新建属性",弹出新建属性对话框,在名称文本框中输入新属性"num",单击"添加"按钮。
第9章 表单设计 9.2 表单设计器 4.设置对象属性 在属性窗口设置对象的属性值。
第9章 表单设计 9.2 表单设计器 5.编写事件代码 (1)对象Command1,过程Click事件的代码如下: use zgbh n=alltrim(thisform.combo1.value) p=alltrim(thisform.text1.value) locate for 职工号=p if 姓名=n and 职工号=p thisform.label3.caption="欢迎使用本系统!" thisform.refresh else thisform.text1.value="" thisform.num=thisform.num+1
第9章 表单设计 9.2 表单设计器 c="第"+str(thisform.num,1)+"次" thisform.label3.caption=c+"口令错误!重新输入" thisform.text1.setfocus &&设置焦点 thisform.refresh if thisform.num=3 thisform.label3.caption=c+"错误,"+"你无权使用本系统!" thisform.combo1.enabled=.f. thisform.text1.enabled=.f. thisform.command1.enabled=.f. endif endif
第9章 表单设计 9.2 表单设计器 (2)对象Command2,过程Click事件的代码如下: thisform.release (3)对象Combo1,过程InteractiveChange(使用键盘或鼠标改变控件值时引发的事件)代码如下: if !empty(this.value) thisform.text1.setfocus endif
第9章 表单设计 9.2 表单设计器 6.保存表单 单击工具栏中的"保存"按钮(或单击表单设计器关闭按钮),弹出"另存为"对话框,选择表单保存的位置,输入表单文件名(DL.SCX),单击保存按钮。
第9章 表单设计 9.2 表单设计器 7.运行表单 单击工具栏上的运行按钮或在命令窗口输入DO FORM <表单文件名>可运行表单。 DO FORM DL
第9章 表单设计 9.3 类的设计 在VFP中除了系统提供的容器类和控件类外,用户还可以自定义类,其自定义类的方法有: 1.将表单或控件保存为类 操作步骤: (1)创建表单或打开已有表单。例,打开DL表单:modi form DL
第9章 表单设计 9.3 类的设计 (2)选定表单或表单控件,本例选择表单。
第9章 表单设计 9.3 类的设计 (3)选择“文件”—“另存为类”命令,出现“另存为类”对话框,在“保存”选项中选择“当前表单”,在类名框中输入“newformclass”,在类库文件名框中输入“myclass”,单击“确定”按钮。
第9章 表单设计 9.3 类的设计 2.用类设计器创建类 例,创建一个含3个命令按钮和1个组合框的工具栏子类。 (1)启动类设计器 选择“文件”—“新建”—“类”,出现“新建类”对话框,在类名框中输入“mytool”,在派生于框中输入基类“Toolbar”,在存储于框中输入自定义类库“myclass”,单击“确定”按钮。
第9章 表单设计 9.3 类的设计 (2)将3个命令按钮和1个组合框添加到类设计器窗口中,并在控件之间插入分隔符。 (3)根据需要设置工具栏及控件属性和编写事件代码。 (4)按Ctrl+W保存子类。
第9章 表单设计 9.3 类的设计 3.在表单集中添加自定义工具栏 工具栏对象必须存放在表单集中,为此需先建立一个表单Form1,并在“表单”菜单中执行“创建表单集”命令,生成只有一个表单的表单集FormSet1。 单击“表单控件”工具栏中的“查看类”按钮,单击“添加”,在打开对话框中选择“myclass”类库,单击“mytool”,然后在表单中单击,可将其添加到表单集FormSet1中。
第9章 表单设计 9.3 类的设计 表单设计完成后,按Ctrl+W存盘,在“另存为”对话框中,输入表单名“表单1”,单击“保存”按钮。
第9章 表单设计 9.3 类的设计 运行表单:DO FORM 表单1.SCX