1 / 37

Visual FoxPro 程序设计

Visual FoxPro 程序设计. 河南财专信息工程系. 2014/11/6. 第 9 章 表单设计. 9.1 表单向导 9.2 表单设计器 9.3 类的设计. 第 9 章 表单设计. 9.1 表单向导. 在 VFP 中,对话框、向导、设计器等各种窗口统称为表单。表单是最常用的用户操作界面工具。表单文件的扩展名为 SCX ,表单备注文件的扩展名为 SCT 。 VFP 提供了两种表单设计工具 — 表单向导与表单设计器。 9.1 表单向导

maile-dixon
Download Presentation

Visual FoxPro 程序设计

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Visual FoxPro 程序设计 河南财专信息工程系 2014/11/6

  2. 第9章 表单设计 • 9.1 表单向导 • 9.2 表单设计器 • 9.3 类的设计

  3. 第9章 表单设计 9.1 表单向导 在VFP中,对话框、向导、设计器等各种窗口统称为表单。表单是最常用的用户操作界面工具。表单文件的扩展名为SCX,表单备注文件的扩展名为SCT。VFP提供了两种表单设计工具—表单向导与表单设计器。 9.1 表单向导 表单向导能引导用户对选定表产生实用的表单维护窗口,窗口中含有所选取的字段,还包含供用户操作的各种按钮,具有翻页、编辑、查找、打印等功能。 表单向导能产生两种表单:单表表单和一对多关系表单。

  4. 第9章 表单设计 9.1 表单向导 例:使用表单向导创建一个能维护TEACHER.DBF的表单。 操作步骤: 1.打开表单向导:在文件菜单中选择新建,弹出新建对话框,选择表单,单击向导按钮,弹出向导选取对话框。

  5. 第9章 表单设计 9.1 表单向导 2.根据需要选择表单向导或一对多表单向导,本例选择表单向导,单击确定按钮。

  6. 第9章 表单设计 9.1 表单向导 3.在表单向导对话框中,单击数据库和表的浏览按钮,在弹出的对话框中选定TEACHER.DBF。

  7. 第9章 表单设计 9.1 表单向导 • 4.将可用字段列表框中的所有字段移到选定字段列表框中。单击下一步。 • 5.选择表单样式,共有9种表单样式。如选浮雕式,单击下一步。 • 6.在排序次序中选择排序字段,如选择月收入。再选择排序方式,升序或降序。如选择升序,单击下一步。 • 7.在表单标题框中键入“教师管理”,选择保存方式(共有三种保存方式,本例选择“保存表单以备将来使用”),单击完成。 • 8.在另存为对话框中输入要保存的表单名JSGL.SCX,单击保存。

  8. 第9章 表单设计 9.1 表单向导

  9. 第9章 表单设计 9.1 表单向导 9.执行表单,选定程序菜单中的运行,在运行对话框中的文件类型中选择表单,在文件列表中选择JSGL.SCX。单击运行(也可用DO FORM JSGL命令运行表单)。

  10. 第9章 表单设计 9.2 表单设计器 1.表单设计器的特点 (1)不但能创建表单,而且可以修改表单。 (2)操作界面可视化。 (3)表单设计面向对象。 2.表单设计器的基本操作 新建表单操作步骤: 第一步,打开表单设计器。打开文件菜单中的新建,选择表单,单击新建文件按钮(或用MODIFY FORM〈表单文件名〉),便可打开表单设计器。

  11. 第9章 表单设计 9.2 表单设计器

  12. 第9章 表单设计 9.2 表单设计器 第二步,在表单中添加控件。 第三步,设置对象属性。 第四步,设置对象的方法程序。 第五步,保存表单。表单设计完成后,可通过文件菜单中的保存命令或按Ctrl+W存盘。 第六步,运行表单。可利用程序菜单中的运行命令,也可用DO FORM〈表单文件名〉运行表单。

  13. 第9章 表单设计 9.2 表单设计器 下面通过实例来说明表单的设计。 例1:设计只含一个文本框控件的表单,要求逐次单击文本框的内部能轮流显示当前日期与时间。

  14. 第9章 表单设计 9.2 表单设计器 (1)创建表单:MODI FORM RQSJ 屏幕显示RQSJ表单设计器窗口。 (2)创建文本框:单击表单控件工具栏中的文本框按钮,然后单击FORM1表单窗口某处,该处就会产生一个TEXT1文本框控件。

  15. 第9章 表单设计 9.2 表单设计器 (3)将表单的CAPTION属性改为"日期与时间":在表单窗口单击右键,选择属性,弹出属性窗口,在属性列表中选定CAPTION,在文本框中输入"日期与时间",回车后表单标题变为日期与时间。

  16. 第9章 表单设计 9.2 表单设计器 (4)表单中LOAD事件代码的编写:双击表单窗口打开代码编辑窗口,在对象组合框中确定FORM1选项,在过程组合框中确定LOAD事件选项,在编辑区输入代码: PUBLIC I &&Load事件在表单装入内存时触发,设置I为公共变量

  17. 第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

  18. 第9章 表单设计 9.2 表单设计器

  19. 第9章 表单设计 9.2 表单设计器 (6)保存表单:表单设计完成后,按Ctrl+W存盘。 (7)运行表单:DO FORM RQSJ

  20. 第9章 表单设计 9.2 表单设计器 例2:创建一个用户登录系统的表单(DL.scx),要求以zgbh表中姓名字段作为用户名,以职工号字段为口令进行登录。表单的功能是:输入用户名和口令,单击“确认”按钮,系统检测用户名和口令是否正确,如果正确,则允许登录系统,否则提示重新输入,如果三次输入错误,则关闭系统。

  21. 第9章 表单设计 9.2 表单设计器 操作步骤如下: 1.创建ZGBH.dbf,字段包括职工号(C,4),姓名(C,6)。 2.登录界面设计 单击"新建"按钮,弹出新建对话框,选择"表单"单选按钮,单击"新建文件"按钮,打开"表单设计器"窗口。 在表单上创建三个标签(Label1、Label2、Label3),一个组合框(Combo1),一个文本框(Text1),两个命令按钮(Command1、Command2)。

  22. 第9章 表单设计 9.2 表单设计器

  23. 第9章 表单设计 9.2 表单设计器 3.添加对象属性NUM,用于记载登录次数。 选择"表单"菜单中的"新建属性",弹出新建属性对话框,在名称文本框中输入新属性"num",单击"添加"按钮。

  24. 第9章 表单设计 9.2 表单设计器 4.设置对象属性 在属性窗口设置对象的属性值。

  25. 第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

  26. 第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

  27. 第9章 表单设计 9.2 表单设计器 (2)对象Command2,过程Click事件的代码如下: thisform.release (3)对象Combo1,过程InteractiveChange(使用键盘或鼠标改变控件值时引发的事件)代码如下: if !empty(this.value) thisform.text1.setfocus endif

  28. 第9章 表单设计 9.2 表单设计器 6.保存表单 单击工具栏中的"保存"按钮(或单击表单设计器关闭按钮),弹出"另存为"对话框,选择表单保存的位置,输入表单文件名(DL.SCX),单击保存按钮。

  29. 第9章 表单设计 9.2 表单设计器 7.运行表单 单击工具栏上的运行按钮或在命令窗口输入DO FORM <表单文件名>可运行表单。 DO FORM DL

  30. 第9章 表单设计 9.3 类的设计 在VFP中除了系统提供的容器类和控件类外,用户还可以自定义类,其自定义类的方法有: 1.将表单或控件保存为类 操作步骤: (1)创建表单或打开已有表单。例,打开DL表单:modi form DL

  31. 第9章 表单设计 9.3 类的设计 (2)选定表单或表单控件,本例选择表单。

  32. 第9章 表单设计 9.3 类的设计 (3)选择“文件”—“另存为类”命令,出现“另存为类”对话框,在“保存”选项中选择“当前表单”,在类名框中输入“newformclass”,在类库文件名框中输入“myclass”,单击“确定”按钮。

  33. 第9章 表单设计 9.3 类的设计 2.用类设计器创建类 例,创建一个含3个命令按钮和1个组合框的工具栏子类。 (1)启动类设计器 选择“文件”—“新建”—“类”,出现“新建类”对话框,在类名框中输入“mytool”,在派生于框中输入基类“Toolbar”,在存储于框中输入自定义类库“myclass”,单击“确定”按钮。

  34. 第9章 表单设计 9.3 类的设计 (2)将3个命令按钮和1个组合框添加到类设计器窗口中,并在控件之间插入分隔符。 (3)根据需要设置工具栏及控件属性和编写事件代码。 (4)按Ctrl+W保存子类。

  35. 第9章 表单设计 9.3 类的设计 3.在表单集中添加自定义工具栏 工具栏对象必须存放在表单集中,为此需先建立一个表单Form1,并在“表单”菜单中执行“创建表单集”命令,生成只有一个表单的表单集FormSet1。 单击“表单控件”工具栏中的“查看类”按钮,单击“添加”,在打开对话框中选择“myclass”类库,单击“mytool”,然后在表单中单击,可将其添加到表单集FormSet1中。

  36. 第9章 表单设计 9.3 类的设计 表单设计完成后,按Ctrl+W存盘,在“另存为”对话框中,输入表单名“表单1”,单击“保存”按钮。

  37. 第9章 表单设计 9.3 类的设计 运行表单:DO FORM 表单1.SCX

More Related