1 / 71

第 9 章 表单和控件设计

第 9 章 表单和控件设计. 表单( Form )是系统中用户见到的主要界面。使用表单,可让用户在熟悉的界面下查看数据或将数据输入数据库。 表单是应用程序中最重要的一部分内容,也是 VFP 程序设计中的一个重点。. 表单概述. 表单( Form )是系统中用户见到的主要界面。使用表单,可让用户在熟悉的界面下查看数据或将数据输入数据库。 表单提供不仅仅是一个界面,它还提供丰富的对象集,这些对象能响应用户(或系统)事件,使用户尽可能方便和直观地完成信息管理工作。 表单的设计是可视化编程的基础。

kuame-marks
Download Presentation

第 9 章 表单和控件设计

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. 第9章 表单和控件设计 • 表单(Form)是系统中用户见到的主要界面。使用表单,可让用户在熟悉的界面下查看数据或将数据输入数据库。 • 表单是应用程序中最重要的一部分内容,也是VFP程序设计中的一个重点。

  2. 表单概述 表单(Form)是系统中用户见到的主要界面。使用表单,可让用户在熟悉的界面下查看数据或将数据输入数据库。 表单提供不仅仅是一个界面,它还提供丰富的对象集,这些对象能响应用户(或系统)事件,使用户尽可能方便和直观地完成信息管理工作。 表单的设计是可视化编程的基础。 表单是一种容器类,是一个或多个页面的集合。表单可以包含用以显示并编辑数据的控件。

  3. 9.1 表单的建立 表单和控件是面向对象的程序设计中最基本的可视化对象,在建立表单的过程中,要定义它们的属性,编写事件或方法的代码。创建表单可通过表单设计器和表单向导两种途径实现。 9.1.1 使用表单设计器创建表单

  4. 1.命令方式 Create Form <表单文件名>.scx 2.菜单方式 ⑴ 在主菜单中,选择“文件→新建”,进入新建窗口; ⑵ 在“新建”窗口中,选择“表单”,单击“新建文件”按钮。 ⑶ 在“文件”菜单项中,单击“保存”命令,输入文件名 3.在“项目管理器”中创建表单 在“项目管理器”中选择“文档”标签下的“表单”,然后单击“新建”按钮。

  5. 9.1.2 利用表单向导创建表单 (1)、在VFP系统的主菜单中单击“文件”菜单中的“新建”菜单项,进入“新建”窗口。

  6. 第二步 (2)、在“新建”窗口中单击“表单”按钮,再单击“向导”按钮,进入“向导选取”窗口,如左图所示。

  7. 第三步 (3)、在“向导选取”窗口单击“表单向导”项,进入“表单向导”步骤1-字段选取窗口,如左图所示。

  8. 第四步 (4)、在字段选取窗口,先选择作为数据资源的数据库或表。最后单击按钮“下一步”,进入“表单向导”步骤2-选择表单样式窗口,如左图所示。

  9. 第五步 (5)进行样式选择,是来指定表单上控件的外观。 第六步 (6)、在排序次序窗口,可在“可用的字段或索引标识”列表框中选择一到三个字段或一个索引标识来排序记录。

  10. 第七步 (7)、在完成窗口,首先在“请键入表单标题”文本框中,键入表单标题;然后选择表单的保存方式。最后单击“完成”,保存表单。

  11. 运行表单

  12. 9.2.2 表单的数据环境 表单上的对象和库中的数据的联系是通过数据环境完成的。数据环境就是指与表单相关的数据的集合,它指明表单的数据的来源,把表单控件对象的ControlSource属性设置为表的字段,这样就可以显示该字段的记录。 数据环境操作主要有如下几个内容: 打开数据环境; 设置数据环境属性; 向数据环境添加表; 设置数据环境中表的属性; 建立数据环境中表的关系。

  13. 2. 创建一对多数据表单 • 与前面不同的是: • 从父表中选择字段 • 丛子表中选择字段 • 按向导提示步骤操作即可

  14. 9.1.3 表单的修改及运行 • 在表单设计器中进行修改; • 在项目中进行修改; • 用命令方式修改: Modify Form <表单文件名>.scx

  15. 9.2 表单与控件 • VFP 6.0提供了大量的表单控件,其中大部分控件具有相同的属性、事件和方法,它们既可以通过属性编辑器进行设置或编辑。也可以在程序执行过程中创建或改变控件的属性,调用控件的方法程序

  16. 表单设计器

  17. 使用表单设计器创建单表表单 表单设计器制作表单的逻辑思路: • 在表单上建立显示控件,并调整好位置 • 把控件和数据库中的数据绑在一起

  18. 9.2.1 表单工具栏与快捷菜单

  19. 快捷菜单

  20. 9.2.2表单的数据环境 • 在设计数据库操作表单时,需要为表单建立数据环境。数据环境中包含与表单有联系的表和视图以及表之间的关系,它是链接表单与表或视图文件的通道。一般情况下,添加到数据环境中的表或视图,随着表单的打开或运行而打开,并随着表单的关闭或释放而关闭。可用数据环境设计器来设置表单的数据环境。

  21. 常用属性有: • AutoOpenTable:当打开表单集、表单或报表时,是否自动打开数据环境中指定的表和视图,默认值是.T.。 • AutoCloseTable:当关闭表单集、表单或报表时,是否关闭数据环境中指定的表和视图,默认值是.T.。 • DateSourceType:指定数据源的类型。

  22. 添加表单控件的方法 使用表单控件工具条向表单中添加控件对象 用生成器向表单中添加控件对象 用表单生成器向表单中添加控件对象 利用数据环境向表单中添加控件对象 利用项目管理器向表单项中添加控件对象

  23. 1、使用表单控件工具条向表单中添加控件对象1、使用表单控件工具条向表单中添加控件对象 • 如果要建立一个输入文本框,按下表单控件条上的 按钮,在表单上一划,一个输入框就建立了,然后调整输入框的大小和在表单上的位置. • 如果要建立多个同样的标签控件对象,可以用按钮锁定法,先按下表单控件工具条上的 按钮,再按下表单控件工具条上的 按钮,再在表单上重复划动鼠标. • 如果某些控件对象要显示数据记录,就需要设置该控件对象的ContralSource属性,与字段进行绑定。

  24. 9.2.3常用表单控件的属性 • 面向对象的程序设计(OOP) • 1、对象 • 2、属性 • 3、事件 • 对象引用规则: • This 表示当前对象 • Thisform 表示当前表单 • Thisformset 表示当前表单集 • 对象引用方法: • 如:this.caption thisform.command.caption

  25. 对象的特征 对象都具有自己的属性(Property)、事件(Event)、方法(Method)。 不同类产生的对象具有不同的属性事件方法。 1、属性 是指对象的特征,每个对象都有自己的属性如表单具有标题(Caption)、背景(Backcolor)、可移动(Movable)等属性。它们有一个对应值,可在属性窗口设置,也可在运行时改变。 如:thisform.caption=“数据维护” thisform.movable=.f.

  26. 属性窗口的使用 1、属性窗口:显示表单中控件的属性、事件、方法等。 2、对象选择器:在属性窗口的最上方,可以在此选择要设置的对象。对象采用分层方式显示,体现包含关系 3、对象属性设定框 左边三个按钮分别为:取消属性设定,属性设定接受,启用函数按钮 属性框的赋值有直接输入、从下拉框中输入或启动对话框等方式

  27. 表单属性 1、在表单上点鼠标右键—属性,即出现表单属性框,改变里面的内容即可改变表单 2、Caption:用来改变表单的标题 3、AlwaysOnTop:其值为真时,本窗口总是在其它窗口之上 4、BackColor:其值决定窗口颜色

  28. 表单属性 5、Closable:默认为真,即可关闭。当为假时,要小心窗口不能关闭 6、ControlBox:为真,为假时整个标题栏的控制按钮和图标消失,小心。 7、Height/Width/Left/Top用来决定窗口位置 8、Icon:设置标题栏图标 9、MaxButton/MinButton/Movable

  29. 表单属性 10、Picture:给表单加上图片,一般不在此处加背景图片,因为图片太大或太小时会被剪切 11、visible:为假时,运行时不可见,编程修改其值可决定表单的可见性 12、WindowState:其值最大时,决定窗口位置的属性设置无效 13、ShowTips:要使鼠标移到某对象上系统自动蹦出提示,该值必须为真

  30. 14、Fontname:字体名 15、Fontsize:字体大小 16、Fontbold:字体加粗 17、Forecolor:文本前景色 18、Showwindow:设计表单运行后在屏幕的位置

  31. 9.2.4 表单控件的事件和方法 事件 事件是一种预先定义好的特定动作,由用户或系统激活,在多数情况下,是由用户的交互操作产生。事件作用于对象。 如:单击鼠标事件(click)、调入事件(load)、初始化事件(init)等。 我们需要对事件编写对应代码,当系统响应用户的动作时,将自动触发事件对应的代码。

  32. 3、方法 方法是指对象执行的一个操作,是与对象相关联的过程,它是对象的函数成员。 方法程序可以出现在对象的事件中,也可独立于事件单独存在。如:Box,Circle,Hide,Release等 方法程序可以无限扩展,而事件集合是固定的,用户不能创建新的事件,却可创建新的方法和属性。 方法的表示:如 thisform.release thisform.show

  33. 常用事件和方法

  34. 例:在表单集中实现两个表单的切换、隐藏。 步骤:1、打开表单菜单,点击创建表单集,点击添加两张表单form1和form2 2、在表单form1和form2中各设置一个按钮,用来完成切换功能 3、打开代码窗口,设置form1的按钮click事件代码(thisform.hide和thisformset.form2.show);再设置form2的click事件代码。 4、在其中任意一个表单上添加一按钮,释放两表单。(thisformset.form1.release thisformset.form2.release)

  35. 本次课的教学内容: 9.3 基本表单控件 本次课的教学目的与要求: 1、标签、文本框、编辑框、微调按钮 2、列表框、计时器、图像 本次课的教学重点与难点: 重点:属性、事件代码的编写 难点:事件代码的编写 讲授课时:2学时

  36. 常用控件

  37. 9.3.1标签控件 标签用以显示文本。显示内容可通过Caption属性设置。 一般被设置的属性为: 1、Caption:可通过代码设置在运行时改变其值,注意数据类型只能是字符型 2、Autosize:自动调整标签大小 3、Alignment:标签文本在控件中的对齐方式 0:左对齐(默认方式); 1:右对齐;2:居中对齐

  38. 4、BackColor:标签背景色 5、BackStyle:设置标签是否透明,如果透 明,则BackColor设置无效 6、Font开头的属性用来设置显示内容的字体属性,如红色宋体字等 7、ForeColor:标签显示内容的颜色 8、标签位置设定Left/Top/Width/Height,一般用布局工具栏 9、Visible:标签隐藏否,可编程控制

  39. 标签控件事件方法 1、Click事件:点击该标签时发生,在里面写上你要执行的代码, 2、DblClick事件:双击该标签时发生 3、MouseMove事件:当鼠标移动到该标签上时发生

  40. 左边对齐 右边对齐 顶边对齐 底边对齐 垂直居中对齐 水平居中对齐 相同宽度 相同高度 相同大小 水平居中 垂直居中 置前 置后 控件布局 选取多个控件时设置 选定单个控件也可设置

  41. 【例9.1】按图9-14所示,设计一个“教师信息管理系统”应用程序开始界面。【例9.1】按图9-14所示,设计一个“教师信息管理系统”应用程序开始界面。 步骤如下: ⑴创建一个新表单;设置其Caption属性值为“教师信息管理系统”。 ⑵选择“显示→表单控件工具栏”;用鼠标左键单击“标签”按钮,在表单上单击或拖放鼠标,放置三个标签。 ⑶在“属性”窗口中分别设置三个标签的属性: Label1:AutoSize设置为.T.,其作用是指定是否自动调整控件大小以容纳其内容;Caption设置为“教师信息管理系统”;字体、大小及控件位置依据自己的喜好而定; Label2:Caption设置为:版权所有(C) 2004,字体:隶书12磅; Label3:Caption设置为:洛阳师范学院软件开发小组,字体:楷体12磅; ⑷执行表单,显示结果如图9-14所示。

  42. 9.3.2文本框控件 “文本框”控件(TextBox)和“标签”控件有相似之处,但二者使用时有很大区别。“文本框”控件是变量输入输出的焦点区域。在数据表操作中,主要用于对非备注型和通用型字段的输入输出,或给内存变量赋值等操作,它有自己的数据源(ControlSource)。它的数据源可以是表中的字段或内存变量,用户若要通过文本框对字段变量或内存变量进行操作,必须在ControlSource属性中指定与它联系的变量作为数据源。

  43. 利用它可在内存变量、数组元素或非备注字段中输入或编辑数据。利用它可在内存变量、数组元素或非备注字段中输入或编辑数据。 一般被设置的属性为: ControlSource:为文本框指定一个字段或变量。运行时显示变量值,也可修改。 Value:用户输入的值,如果要限制输入类型,设计时先赋初值。如初值为{},则只能输入日期 PasswordChar: 若文本框输入密码,输入时不想让别人知道,可输入指定字符。如“*”,真正内容保存在Value中。

  44. InputMask:指定在一个文本框中如何输入和显示数据,即模式匹配格式。如此处输入6个“!”,则只能输入6个大写字母。InputMask:指定在一个文本框中如何输入和显示数据,即模式匹配格式。如此处输入6个“!”,则只能输入6个大写字母。 Centruy、Hours、Seconds和DateFormat设置日期格式

  45. 文本框控件事件 1、When事件:当光标进入文本框时发生 2、Valid事件:当光标离开文本框时发生 3、SetFocus事件:使文本框获得焦点

  46. 例2 设计一个登录界面,指定用户名为user1,password为:1234 步骤: 1、创建表单,添加一些控件 2、设置Caption属性,命令按钮的default属性, 文本框的PasswordChar还可设置其Inputmask 3、为确认命令按钮添加Click事件 4、如要统计输入次数,需添加一个属性存储计数值,并将其默认值设置为数值 mao11

  47. 9.3.3 计时器控件 计时器控件(Timer)是用系统时钟来控制某些有规律的操作,在运行时是不可见的。计时器控件有两个主要属性“Enabled”和“Interval”。“Enabled”用于设置计时器的打开(取值为真)与关闭(取值为假);“Interval”用于定义计时器事件触发的时间间隔(单位为毫秒)。其主要事件是Timer Event,表示经过Interval属性设定的毫秒时间间隔后发生。

More Related