1 / 176

表单设计

封面. 表单设计. 表单是数据库应用系统的主要工作界面。它提供给用户一个友好的操作界面,用于数据的输入、修改、浏览和查询,以及系统流程的控制。表单的设计是进行面向对象可视化编程的基础. 7.1 面向对象基本概念. 面向对象基本概念. 面向对象程序设计 ( Objec-Oriented Programming ) 是一种新的程序设计方法,是当前程序设计的主流方向。 面向对象程序设计,侧重考虑如何将一个复杂的应用程序分解成简单的对象,然后创建对象,定义每个对象的属性和行为。. 7.1.1 对象.

chico
Download Presentation

表单设计

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. 封面

  2. 表单设计 表单是数据库应用系统的主要工作界面。它提供给用户一个友好的操作界面,用于数据的输入、修改、浏览和查询,以及系统流程的控制。表单的设计是进行面向对象可视化编程的基础

  3. 7.1 面向对象基本概念

  4. 面向对象基本概念 面向对象程序设计(Objec-Oriented Programming)是一种新的程序设计方法,是当前程序设计的主流方向。 面向对象程序设计,侧重考虑如何将一个复杂的应用程序分解成简单的对象,然后创建对象,定义每个对象的属性和行为。

  5. 7.1.1 对象 客观世界里的任何实体都可以被看作是对象。例如,一本图书、一名学生、一辆汽车、一部手机等,都可以将其作为一个对象。 在VFP中,如图7.1所示,表单上的容器、组合框、标签、文本框、命令按钮等都是对象。甚至表单本身也是一个对象。它们具有自己的状态和行为。 对象的状态用数据来表示,称为属性。对象的行为用代码来实现,称为对象的方法。在面向对象的程序设计中,对象被定义为由属性和相关方法组成的包。

  6. 对象

  7. 对象的属性 每个对象都有自己的属性,属性是用来表示它的外观和描述它的特征。例如,一部手机是一个对象,手机的颜色是白色的、滑盖式样、重量100克、有摄像头……就是它的属性。 在VFP中,表单的宽度是420象素,高度是300象素,标题是系统登录,背景色为灰色,就是此表单的属性。一般来说,VFP中对象的大部分属性都采用系统设置的默认值,只有部分属性需要用户设置。

  8. 对象的事件 所谓事件,是由VFP预先定义好的,能够被对象识别的、用户或系统触发的一个特定动作。 事件可以由系统触发,例如,当生成对象时,系统就引发一个Init事件,对象识别该事件并执行相应的Init事件代码。 事件也可以由用户触发,例如,当用户用鼠标单击命令按钮,命令按钮识别该事件,并执行相应的Click事件代码。

  9. 对象的事件 用户可以为对象的事件编写相应的过程。该事件一旦被触发,系统就马上执行与该事件对应的过程。待事件过程执行完毕,系统又处于等待某事件发生的状态,这就是面向对象编程的事件驱动工作方式。 如果用户没有为触发的事件编写程序,则事件发生时系统不会发生任何操作。 除了由用户或系统触发,也可以在程序中编写代码来触发对象的事件。

  10. 对象的方法 方法是附属于对象的行为和动作,是与对象相关联的过程,是对象能够执行的操作。 例如,手机的拨打、接听、照相、发短信等操作,就是系统为手机对象设定的方法。 在VFP中,方法程序是VFP为对象内定的通用过程,能使对象执行一个操作。例如,表单的Release方法就是从内存中释放表单,Refresh方法就是重画表单,刷新所有的值。

  11. 对象的方法 方法过程代码由VFP预先定义,对用户是不可见的,但用户可以在代码窗口修改方法过程。当用户在代码编辑窗口写入代码,相当于为该方法程序增加了功能,而VFP为该方法程序定义的原有功能并不清除。

  12. 例题:属性、事件、方法实例 编写程序实现以下功能:数据库中用户表如图7.2所示,该数据表有用户名和密码两个字段,记录了使用该系统的用户信息。在如图7.1所示的系统登录表单中,当用户单击“登录”按钮时,系统检查用户在组合框选择的用户名和文本框输入的密码是否正确。若密码正确,则执行表单“主界面”;若密码错误,则提示用户密码错误,并将文本框的文本清除,将光标定位到此文本框。 已知,此表单中,表单的名称为Form1,容器的名称为Container1,用户名的组合框的名称为Combo1,输入密码的文本框的名称为Text1。

  13. 例题:属性、事件、方法实例 IF 密码= ALLT(THISFORM.Container1.Text1.VALUE) &&判断文本框输入的密码与数据表中的密码是否相同 Thisform.RELEASE &&若找到符合条件的记录,调用表单的Release方法,释放此表单 DO FORM 主界面 &&运行主界面表单 ELSE MESSAGEBOX('密码错误',0+16+0) &&否则,打开对话框显示提示信息 Thisform.Container1.Text1.VALUE='' &&将Text1文本框的值的属性设为空字符,即清除文本框中输入的密码 Thisform.Container1.Text1.SETFOCUS&&调用Text1文本框的Setfocus方法,将光标定位到此控件 ENDIF

  14. 7.1.2 VFP基类简介 类是具有相同种类的属性和方法的对象的抽象。 类和对象关系密切,但并不相同。类是用来创建对象的模板,而对象是类的实例。 Visual FoxPro提供了一系列基本对象类,简称基类。用户可以在基类的基础上创建各种所需的对象,还可以在基类的基础上创建自己的子类。 Visual FoxPro的基类分成两大类:容器类和控件类。

  15. 控件类 控件通常存在一个容器内,是一个图形化的、能与用户进行交互的对象。

  16. 容器类 容器类对象是可以容纳其他对象的对象,用户可以单独地访问或处理容器中包含的任一个对象。

  17. 7.1.3 对象的引用 在面向对象的程序设计中,对某个对象的操作是通过对该对象的引用来实现的。 访问对象的属性采用<对象引用>.<属性>的形式,调用对象的方法采用<对象引用>.<方法>的形式。

  18. 对象的引用 对象的引用有两种方式:绝对引用和相对引用。 绝对引用是从外层的容器对象开始逐层向下直到某个对象为止。例如,在例7.1中,绝对引用文本框Text1的方式为:Form1.Contianer1.Text1。 相对引用是从正在为编写事件代码的对象出发,通过逐层向高一层或低一层直到要引用的对象。

  19. 对象的引用 例如,在表单中相对引用文本框Text1的方式为This. Contianer1.Text1, 在容器中相对引用文本框Text1的方式为This.Text1。在命令按钮中相对引用文本框Text1的方式为This.Parent.Text1。 当然,表单中的任何对象要相对引用文本框Text1,都可使用 Thisform. Contianer1.Text1。

  20. 7.2 表单的建立与运行

  21. 表单的建立与运行 在VFP中,创建表单通常有两种途径:使用表单向导或使用表单设计器创建表单。 不管使用哪种方法建立表单,在磁盘上会产生一个扩展名为SCX的表单文件和一个扩展名为SCT的表单备注文件。

  22. 使用表单向导创建表单 表单向导是以简单的方式,引导用户快捷地建立表单。用户只需要依次回答对话框中一系列简单的问题,就可以自动地创建一个表单。表单中包含一些控件显示数据表中的数据,还提供按钮以实现对数据的浏览、查找、添加、编辑和删除等操作。

  23. 例题 在TSGL项目中使用表单向导创建一个能维护读者表的表单。

  24. 修改表单 • 通过菜单修改表单 • 通过项目管理器修改表单 • 命令修改表单 • MODIFY FORM [<表单文件名>]

  25. 运行表单 • 通过项目管理器运行表单 • 启动表单设计器后运行表单 • 通过菜单运行表单

  26. 通过命令运行表单 DO FORM <表单文件名>[WITH <参数1>[,<参数2>]] 如果有WITH短语,则在运行表单时,系统会将各实参的值传递给表单的Init事件代码中用Parameters所定义的形式参数。 表单运行时,可以通过单击“常用”工具栏的“修改表单”按钮,切换到表单设计器窗口来修改表单。

  27. 7.3 表单设计器

  28. 建立表单的步骤

  29. 启动表单设计器 • 通过菜单建立表单 • 通过项目管理器建立表单 • 通过命令建立建立表单 • CREATE FORM [<表单文件名>]

  30. 启动表单设计器 表单设计器窗口 表单控件工具栏 表单设计器工具栏 属性窗口

  31. 设置数据环境 每一个表单都可以设置自己的数据环境。 数据环境中包含表单所需要的一些数据表或视图以及表之间的关联。 通常情况下,数据环境中的数据表或视图会随着表单的运行而打开,并随着表单的释放而关闭。 设置数据环境后,用户还可以直观地设置表单控件中与数据相关的属性。

  32. 显示 数据环境 设置数据环境 在表单设计器上按鼠标右键,选择数据环境命令 单击表单设计器工具栏上的数据环境按钮

  33. 设置数据环境 在数据环境中添加表或视图 从数据环境中移去表或视图 在数据环境中设置表的关联

  34. 例题 在TSGL项目中建立一个表单,在此表单的数据环境中添加“用户”数据表。

  35. 向表单中添加控件

  36. 向表单中添加控件 在表单控件工具栏中单击需要的控件按钮,将鼠标指针移动到表单上,然后单击表单放置控件或把控件拖至所需大小即可

  37. 例题 在例7.3所建立的表单中,建立一个容器对象。在容器对象中建立两个标签,一个文本框,一个组合框和两个命令按钮。

  38. 控件的基本操作 • 选定控件 • 选定一个控件 • 选定多个控件 • 取消控件的选定 • 调整控件大小 • 移动控件 • 删除控件 • 复制控件

  39. 控件的布局

  40. 控件的TAB键次序 • 所谓Tab键次序,就是运行表单时按Tab键时光标经过表单中控件的顺序。表单控件的默认Tab 键次序是控件添加到表单时的次序。 • 单击“表单控件”工具栏的 “设置Tab 键次序”按钮;或选择“显示”菜单的“Tab 键次序”命令 • 鼠标指向在表单运行时应第一个具有焦点的控件,双击此控件,则此控件的Tab键顺序被设置为1。 • 按运行时所要求的Tab 键次序,依次单击其他控件。 • 单击控件外的任何地方,完成设置。

  41. 为表单和控件设置属性 在设计表单时,当用户要设置表单或控件的属性,应在属性窗口进行。

  42. 显示 属性 设置属性 在表单设计器上按鼠标右键,选择属性命令 单击表单设计器工具栏上的属性按钮

  43. 设置属性

  44. 例题 在例7.4所建立的表单中,将表单的标题设为“系统登录”,宽度设为420,高度设为300。将标签1的标题设为“用户”,标签2标题设为“密码”,命令按钮1标题设为“登录”,命令按钮2标题设为“退出”。将四个控件的字号设为12,加粗,自动大小。将组合框的源数据设为来源于用户数据表的用户名字段,文本框的显示字符设为“*”。

  45. 常用的表单属性

  46. 常用的表单属性

  47. 数据环境的属性

  48. 为表单和控件编写代码

  49. 打开代码窗口 • 在表单设计器窗口中,右击鼠标,在快捷菜单中选择“代码”命令 • 在表单或其他对象上双击鼠标 • 单击“表单设计器”工具栏的“代码窗口”按钮 • 选择“显示”菜单的“代码”命令 • 在属性窗口中选择“方法程序”选项,在“属性列表”中双击

  50. 打开代码窗口

More Related