09级VFP6电子教案(7-10章)

更新时间:2023-05-19 07:35:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第七章 表单设计与应用1-7班 周二20/4

7. 1 面向对象的概念 7. 2 创建与管理表单 7. 3 表单设计器 7. 4 常用表单控件2

7.1 面向对象的程序设计技术VFP6不但仍然支持标准的过程化程序设计,而且在语言上还进行了扩展,提供了面向对象程序设计的强大 功能和更大的灵活性。 面向对象的程序设计方法不再是单纯地从代码的第 一行一直编到最后一行,而是考虑如何创建对象,利用 对象来简化程序设计,提供代码的可重用性。面向对象 编程技术的使用,使得用户能更加容易地编制自己的应

用程序。3

4

7.2 创建与管理表单利用表单设计器(或者表单向导)来创建表单文件,并通过运行 表单文件来生成表单对象。 7.2.1 创建表单 1.在“项目管理器” 2:菜单方式 3:命令方式: CREATE FORM <文件名>

单击

新表单

13

要保存设计好的表单,可以在表单设计器环境下,选择 “文件”\ “保存”命令→ “另存为” →表单文件名。表单文 件的扩展名.scx,表单备注文件的扩展名是.sct。 4.修改已有的表单 一个表单无论是通过何种途径创建的,都可以使用表单设 计器进行编辑修改。 在“项目管理器”窗口中,修改表单 “文件”\“打开”命令,在“打开”对话框中选要修改的 表单文件; 或者在命令窗口输入命令MODIFY FORM<表单文件名>。 5.运行表单 可以采用下列方法运行通过表单向导或表单设计器创建的 表单文件: ①在项目管理器窗口中,选择要运行的表单,然后单击窗 口里的“运行”按钮。14

②在表单设计器环境下,选择“表单”菜单中的“执行表单” 命令,或单击标准工具栏上的“运行”按钮。 然后在对话框中指定要运行的表单文件并单击“运行”按钮。

③选择“程序”菜单中的“运行”命令,打开“运行”对话框,

④在命令窗口输入命令:DO FORM (表单文件名)[NAME<变量名>] WITH<实参名表>] 所

谓运行表单就是根据表单文件及表单备注文件的内容产生表单对象。指定变量名,否则建 立与表单同名变量

15

7.2.2 常用事件与方法 一、运行时事件 1.Init事件 在对象建立时引发。在表单对象的Init事件引发之前,将先引发 它所包含的控件对象的Init事件。 2.Load事件 在表单对象建立之前引发,即运行表单时,先引发表单的Load事 件,再引发表单的Init事件。 二、关闭时事件 3.Destroy事件 在对象释放时引发。表单对象的Destroy事件在它所包含的控件 对象的Destroy事件引发之前引发,所以在表单对象的Destroy事 件代码中能够访问它所包含的所有控件对象。 4.Unload事件 在表单对象释放时引发,是表单对象释放时最后一个要引发的事 件

。比如在关闭包含一个命令按钮的表单时,先引发表单的 Destroy事件,然后引发命令按钮的Destroy事件,最后引发表单 21 的Unload事件。

三、交互时事件 5.Click事件 用鼠标单击对象时引发。引发该事件的常见情况有: ①鼠标单击复选框、命令按钮、组合框、列表框和选项 按钮。 ②在命令按钮、选项按钮或复选框获得焦点时,按空格 键。 ③当表单中包含一个确认按钮(Default属性值为.T.)时, 按Enter键,引发确认按钮的Click事件。 ④按控件的访问键。⑤单击表单空白处,引发表单的Click事件。 6.DblClick事件 用鼠标双击对象时引发。 7.RightClick事件 用鼠标右键单击对象时引发。

22

三、表单的显示、隐藏与关闭 8. Show方法: 将表单的Visible属性设置为 .T.,并使表单 成为活动对象。 9. Hide方法:隐藏表单,将表单的Visible属性设置为 .F. 10.Release方法 将表单从内存中释放(清除)。比如表单有一个命令按钮, 如果希望单击该命令按钮时关闭表单,就可以将该命令按 钮的Click事件代码设置为ThisForm.Release。 因此,运行表单时,事件引发顺序: 表单Load事件→控件Init →表单Init →表单Dstroy →控件Dstroy→表单Unload

23

例7.2 首先按表8.8建立表单myForm, 设置相应的事件代码,然后 运行表单并观察结果。

操作步骤: ①在命令窗口输入命令MODIFY FORM myForm,打开表单设计 器窗口。 ②从“显示”菜单中选择“代码”命令,打开代码编辑窗口。 ③从“过程”框中选择Load,并在编辑区输入相应的代码内容。 ④类似地设置其他三个事件代码,然后关闭代码编辑窗口。 ⑤从“文件”菜单中选择“保存”命令,保存表单文件。然后单 击关闭按钮,关闭表单设计器窗口。 24 ⑥在命令窗口中输入命令:DO FORM myForm。

7.3 常用表单控件 7.3.1 标签(Label)控件 标签是用以显示文本的图形控件,被显示的文本在Caption属性 中指定,称为标题文本。标签的标题文本不能在屏幕上直接编辑修 改。

常用的标签属性: 1.Caption属性 指定标签的标题文本。很多控件类都具有Caption属 性,如表单、复选框、选项按钮、 命令按钮等。

40

在设计代码时,应该用Name属性值(对象名称)而不能 用Caption属性值来引用对象。在同一作用域内两个对象

(如一个表单内的两个命令按钮)可以有相同的Caption属性值, 但不能有相同的Name属性值。 bel1.Caption=“选择项目(\<X)” 2.Alignment属性

指定标题文本在控件中显示的对齐方式。对不同的控件,

该属性的设置情况有所不同。对标签,该属性的设置值“0”左对齐,“1”右对齐,“2”中央对齐。

此属性还适用于文本框、复选框、选项按钮等。

41

例7.3 表单中有三个标签,如图8.17所示。当用鼠标 单击任何一个标签时,都使其他两个标签的标题文本 互换。 内容要点:假设三个标签的名称(Name属性值)分别是 Labell、Label2、Label3,它们可以从属性窗口中获 得。 ①标签Labell的Click事件代码为: t=bel2.Caption bel2.Caption=bel3.Caption bel3.Caption=t ②标签Label2的Click事件代码为: t=bell.Caption bell.Caption=bel3.Caption 42 bel3.Caption=t

③标签Label3的Click事件代码为: t=bell.Caption bell.Caption=bel2.Caption bel2.Caption=t 操作步骤: ①创建表单,然后在表单中添加3个标签按钮。 ②分别为3个标签控件设置Caption属性,如下图所示。 ③分别为3个标签控件设置Click事件代码。

43

7. 3. 2 命令按钮(CommandButton)控件 命令按钮典型地用来启动某个事件 代码、完成特定功能,如关闭表单、 移动记录指针、打印报表等。

1.Default属性和Cancel属性① Default属性值为.T.的命令按钮称为“确认”按钮。 命令按钮的Default属性默认值为.F.。一个表单内只能有 一个“确认”按钮。 ② Cancel属性值为.T.的命令按钮称为“取消”按钮。

命令按钮的Cancel属性默认值为.F.。在“取消”按钮所在的表单激活的情况下,按Esc键可以激活“取消”按钮,

执行该按钮的Click事件代码。

44

7.3.3 命令组(CommandGroup)控件 命令组是包含一组命令按钮的容器控件, 用户可以单个或作为一组来操作其中的按钮。 1.ButtonCount属性 指定命令组中命令按钮的数目。 ButtonCount默认值是2,即两个命令按钮。 2.Buttons属性 用于存取命令组中各按钮的数组。例如,下面这行代码可以放在 与命令组myCommandG处于同一表单中的某个对象的方法或事件 代码中,将命令组中的第2个按钮设置成隐藏的: ThisForm.myCommandG.Buttons(2).Visible=.F. 3.Value属性 指定命令组当前的状态。该属性的类型可以是数值型的(默认值), 也可以是字符型的。若为数值型值m,则表示命令组中第m个命令 按钮被选中;若为字符型值d,则表示命令组中Caption属性值为d 46 的命令按钮被选中。

例如,一个命令组内包含三个命令按钮,可以在命令组的Click 事件方法中设置以下代码以实现对各个按钮的控制(这里,属性 Value的类型应该是数值型): DO CASE CASE This.Value=1 &&针对第一个按钮采取某些行动 CASE This.Value=2 &&针对第二个按钮采取某些行动 CASE This.Value=3 &&针对第三个按钮采取某些行动 ENDCASE 如果命令组内的某个按钮的Click事件代码,优先于命令组的 Click事件代码。 7.3.4 文本框(TextBox)控件 利用文本框可以在内存

变 量、数组元素或非备注型字段中输入或编辑数据。文本框可以编辑 任何类型的数据,如果编辑的是日期型或日期时间型数据,那么在 整个内容被选定的情况下,按“+”或“-”,可以使日期增加一天 47 或减少一天。

1.ControlSource属性

为文本框指定一个字段或内存变量。运行时,文本框 首先显示该变量的内容。而用户对文本框的编辑结果,也 会最终保存到该变量中。 2.Value属性返回文本框的当前内容。该属性的默认值是空串。

3.PasswordChar属性指定文本框控件内是显示用户输入的字符还是显示占 位符;指定用作占位符的字符。

为该属性指定一个字符(即占位符,通常为*)后,文 本框内将只显示占位符,而不会显示用户输入的实际内容。 48 这在设计登入口令框时经常用到。

4. InputMask属性 指定在一个文本框中如何输入和显示数据。 InputMask属性值是一个字符串。该字符串通常由一些所谓的 模式符组成。

InputMask属性值中也可包含其他字符,这些字符在文本框内 49 将会原样显示。

例7.4 设计求圆面积的表单:要求在一个文本框内 输入圆的半径,命令按钮进行计算,求出圆的面 积在另外一个文本框内显示出来。 步骤: (1)创建表单,添加两个标签,一个为:“请输入 圆的半径:”,另一个为:“圆的面积:”,再 添加一个命令按钮,为“计算”。 (2)设置两个标签的标题与命令按钮标题,将命令 按钮Default值设为.T.。 (3)命令按钮的代码为: a=Thisform.text1.value thisform.text2.value=round(a^2*pI(),2) 50

作业题: 设计一个表单:从键盘 输入一个数,判断其是 否为素数。

51

本文来源:https://www.bwwdw.com/article/vsl4.html

Top