1 / 46

第 8 章 表 单 控 件

第 8 章 表 单 控 件. 第 8 章 表单控件. [ 主要内容 ] 本章主要介绍 VFP 表单控件工具栏上 21 个基类控件及表单集的常用属性、方法、事件及主要功能等。 [ 本章重点 ] 输出类、输入类、控制类、多重容器类 [ 本章难点 ] 控制类、多重容器类. 表单控件按主要功能分为五类: 输出类控件 : 标签、图象、线条、形状 输入类控件 : 文本框、编辑框、微调控件、 列表框、组合框 控制类控件 : 命令按钮、命令按钮组、复选框 选项按钮组、计时器 容器类控件 : 表格、页框、容器

summer
Download Presentation

第 8 章 表 单 控 件

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. 第8章 表 单 控 件

  2. 第8章 表单控件 [主要内容] 本章主要介绍VFP表单控件工具栏上21个基类控件及表单集的常用属性、方法、事件及主要功能等。 [本章重点] 输出类、输入类、控制类、多重容器类 [本章难点] 控制类、多重容器类

  3. 表单控件按主要功能分为五类: 输出类控件:标签、图象、线条、形状 输入类控件:文本框、编辑框、微调控件、 列表框、组合框 控制类控件:命令按钮、命令按钮组、复选框 选项按钮组、计时器 容器类控件:表格、页框、容器 连接类:Active X控件、Active X绑定控件、 超级链接

  4. 8.1 输出类 8.1.1 标签(label) 1.标签的创建 利用表单控件工具栏标签按钮 利用字段映像功能从数据环境将字段拖至表单 2.常用标签属性

  5. 3. 举例 例1在表单添加一个标签控件和两个按钮。实现功能,当标签显示英文’hello’时按钮上显示中文‘你好’,当标签上显示中文‘你好’时按钮上显示英文’hello’,每次按下按钮时,当前状态发生一次改变。(当标签上为中文时,文字加粗变斜) (1)设计如图所示: (2)对象属性设置如表所示

  6. (3)事件代码如下 • command1的click事件代码: • if thisform.label1.caption='hello' • thisform.label1.caption='你好' • thisform.command1.caption="hello" • thisform.label1.fontbold=.t. thisform.label1.fontitalic=.t. • else • thisform.label1.caption='hello' • thisform.command1.caption='你好' • thisform.label1.fontbold=.f. • thisform.label1.fontitalic=.f. • endif Command2的click事件代码; thisform.release

  7. 8.1.2.图像、线条、形状 1.图像(Image) (1)图像的创建 利用表单控件工具栏图像标签 (2)常用图像属性: Picture:指定图像控件所显示的图像文件的位置及文件名。 AutoSize:为.T.时,将根据其显示的图片自动地改变大小,缺省值为.F. 2.线条(Line) (1)线条的创建 利用表单控件工具栏线条按钮 3.形状:Shape 属性:Curvature(形状方0---椭圆99)

  8. 8.2 输入类控件 8.2.1 文本框(text) 1.文本框的创建 利用表单控件工具栏文本框按钮 利用字段映像功能从数据环境将字段拖至表单 2.常用标签属性 (1)Value:指定文本框对象的值,并在框中显示。 Value 值可以为数值型、字符型、日期型、逻辑型 -----0、(无)、{}、.f. (2)ControlSource:设置文本框对象数据源。

  9. (3)Format:指定Value属性输入时的约束或显示时的格式。(3)Format:指定Value属性输入时的约束或显示时的格式。 (4)InputMask:用于确定控件中如何输入和显示数据 (5)Readonly (6) alignment (7)passwordChar 3.方法选介 SetFocus:对文本框控件设置焦点。

  10. 4.事件选介 (1)When : 文本框获得焦点前发生。 (2)GotFocus: 文本框获得焦点时发生。 (3)Valid: 文本框失去焦点前发生。 (4)LostFocus: 文本框失去焦点时发生。 (5)KeyPress: 当用户在文本框中按住并释放一个键盘键时发生。 (6)InteractivateChange: 当用户用键盘或鼠标改变文本框对象的值时发生。

  11. 文本框生成器 5.文本框生成器 生成器是帮助用户设置常用对象属性的工具。文本框生成器包括格式、样式、值三个选项卡。

  12. 6.举例 例2.设计一个密码输入窗口,要求最多允许输入3次密码。 (1)设计如图所示: (2)对象属性设置如表所示

  13. Command1的click事件代码: i=i+1 if thisform.text1.value='123456' messagebox('欢迎进入本系统') thisform.release else if i<3 messagebox("密码错,请重试") thisform.text1.value='' thisform.text1.setfocus else messagebox('密码错,禁止进入本系统') thisform.release endif endif (3)事件代码如下 Form1的load事件代码: public i &&计算输入次数 i=0

  14. 8.2.2 编辑框 利用编辑框控件可实现文本数据的输入与编辑。 1.编辑框的创建 利用表单控件工具栏编辑框按钮 利用字段映像功能从数据环境将备注型字段拖至表单 2.常用编辑框属性 (1)Value:用于指定编辑框中的值,其Value属性值的类型只能是字符型。 (2)ScrollBar:滚动条设置(垂直—2,无--0)

  15. (3)ControlSource:对象的数据源。一般为表的某一备注型字段。(3)ControlSource:对象的数据源。一般为表的某一备注型字段。 (4)SelText:返回用户在编辑框中所选定的内容。 (5) Selstart (6)Selength

  16. 8.2.3 列表框(List)和组合框(Combo) 组合框:下拉组合框和下拉列表框 1.属性选介: (1)ColumnCount:指定列表框的列数 (2)RowSourceType:指定列表框的数据源 (3)RowSource:指定列表框数据绑定的数据源 (4)ListCount:返回组合框或列表框中列表项的个数 (5)ListIndex:返回组合框或列表框中选定项的顺序号 (6) Selected:用于分辨某一项是否被选中 (7) Value:用于返回在列表中选定的项

  17. 2.方法程序: (1) AddItem 当组合框或列表框的rowsourcetype 为0时,使用本方法程序可以在其列表中添加一个新项 格式:Control.AddItem(cItem[,nIndex][,nColumn]) (2) RemoveItem 当组合框或列表框的RowSourceType属性为0时,使用本方法程序可在列表中删除一项。 格式:Control.RemoveItem(nIndex) 说明:nIndex为数值表达式。取值范围1~listcount 。

  18. 8.2.4 微调器 微调控件接受给定范围之内的数值。它只能与数值型变量或字段数据绑定。 1.属性选介: (1)value:微调控件的当前值,是数值型。 (2)increment:按一次箭头按钮的增减值,系统默认为1.00。 (3)keyboardhighvalue:设定键盘输入数值上限。 (4)keyboardlowvalue:设定键盘输入数值下限。 (5)spinnerhighvalue:设定按钮调整数值上限。 (6)spinnerlowvalue:设定按钮调整数值上限。 (7)controlsource:设定微调控件的数据源。 (8)Inputmask:设置微调控件的输入掩码。

  19. 8.3 控制类控件 8.3.1 命令按钮 1.常用属性选介 (1)Caption:设置命令按钮标题 (2)Enabled:用于确定命令钮对象是否响应用户的事件 (3)Visible:用于确定命令钮对象是可见的或者是隐藏的 (4)Default:若表单上有不止一个命令钮,可将其中一个命令按钮设置为缺省命令按钮。 (5)Cancel:若该命令按钮的Cancel属性为.T.,用户按Esc键将执行该命令按钮的Click事件。 (6)Picture:设置命令按钮上显示图形。 (7)ToolTipText:设置命令按钮的提示文本。

  20. 2.常用事件选介 (1)Click:命令按钮的单击鼠标左按钮事件。 (2)RightClick:命令按钮的单击鼠标右按钮事件

  21. 3.举例 例3.判断一个数是否为素数. Command1的click 事件代码: n=thisform.text1.value y='是素数' for i=2 to n-1 if mod(thisform.text1.value,i)=0 y='不是素数' endif endfor thisform.label2.caption=y 步骤: 添加两个标签控件,一个文本框控件,两个按钮控件.将文本框的value属性改为0,使其可以输入数值型数据.相应修改其他控件的caption属性. Command2的click事件代码: Thisform.release

  22. 8.3.2 命令按钮组        1.常用属性 2.举例

  23. 例4.设计一个表单,在表单上添加按钮组,使得表单可更换不同颜色.例4.设计一个表单,在表单上添加按钮组,使得表单可更换不同颜色. • 步骤: • from1的caption属性改为:’换装’ • 在表单上创建按钮组commandgroup1 • 在按钮组上单击鼠标右键,打开生成器.修改如下图:

  24. 在command1-command5的click事件中添写代码: thisform.backcolor=this.forecolor 在command6中添写代码: thisform.release

  25. 8.3.3 复选框 1.属性简介 2.事件选介 Click:单击复选框时触发 InteractiveChange:复选框值发生改变时触发。

  26. 8.3.4 选项按钮组 1.属性简介 2.举例 例5.浏览与编辑一张表.

  27. 步骤:创建一张表单,添加一个选项按钮组控件,一个复选框控件和两个按钮控件.添加status,score表到数据环境中.修改按钮控件及复选框控件的caption属性;步骤:创建一张表单,添加一个选项按钮组控件,一个复选框控件和两个按钮控件.添加status,score表到数据环境中.修改按钮控件及复选框控件的caption属性; 打开选项按钮组生成器: 给命令按钮添加代码: command1的click事件代码: if thisform.check1.value=1 brow else browse nomodi noappen nodele endif

  28. command2的click事件代码: optiongroup1的click 事件代码: thisform.release do case case this.value=1 select score case this.value=2 select status endcase

  29. 8.3.5 计时器控件:控制表单自动重复执行一些操作。 1.属性选介 2.事件选介 Timer事件:在Interval属性规定的时间间 隔到后,将执行的操作。

  30. 3.举例 例6.动态显示’欢迎使用’并显示当前时间.

  31. Timer1的timer事件代码: thisform.label2.caption=time() thisform.label2.left=mod((thisform.label2.left-20+375),375) if thisform.label1.fontsize<=72 thisform.label1.fontsize=thisform.label1.fontsize+12 else thisform.label1.fontsize=12 endif Command1的click事件代码: Thisform.release

  32. 8.4 多重容器类 8.4.1.表格1.基本属性

  33. 2.列属性 

  34. 8.4.2.页框与页面 1.页框的创建 利用表单控件工具栏的页框按钮来创建 2.页框属性选介: (1)PageCount:指定页框对象所含的页面数。缺省值为2。 (2)TabStretch:指定页框控件不能容纳选项卡时的处理方式。 (3)PageHeight:指定页框对象的高度,在设计和运行是只读。

  35. (4)PageWidth:指定页框对象的宽度,在设计和运行是只读。 (5)TabStyle:为0(默认值)时,表示所有的页面标题布满页框的宽度,为1时,表示以紧缩方式显示页面标题,即显示时两端不加空位。 (6)ActivePage:指定页框对象中活动页的页码。 3.页面属性选介 Caption:指定页面标题,即选项卡标题。

  36. 例:创建一个含有三个页面的页框的表单,如图所示,分别用来显示欢迎语、系统日期和当前时间。例:创建一个含有三个页面的页框的表单,如图所示,分别用来显示欢迎语、系统日期和当前时间。 (1)打开表单设计器,在表单上创建一个页框PageFrame1,设置PageCount属性为3。 (2) 激活PageFrame1:在本对象上单击鼠标右键,选择编辑命令。 (3)选择Page1,修改Page1的Caption属性为“欢迎”。向Page1添加一标签Label1,修改其Caption为“欢迎您使用!”,Fontsize为24,Autosize为真,Fontname为隶书。

  37. (4)选择Page2,修改Page2的Caption属性为“日期”。向Page2添加一文本框Text1,修改其Value=Date(),Dateformat=14(汉语日期格式),Fontsize为24,Aligment=2(居中)。(4)选择Page2,修改Page2的Caption属性为“日期”。向Page2添加一文本框Text1,修改其Value=Date(),Dateformat=14(汉语日期格式),Fontsize为24,Aligment=2(居中)。 (5) 选择Page3,修改Page3的Caption属性为“时间”。向Page3添加一文本框Text1,修改其Fontsize为24,Aligment=2(居中)。向Page3添加一计时器Timer1, 设置Timer1的Interval=500。 (6)对Timer1的Timer事件编码如下:This.Parent.Text1.Value=Time() (7)存盘运行表单

  38. 8.4.3 Container容器 1.属性选介: (1)Enabled:如果Container容器的Enabled属性为.F.,则其内的所有对象都不能响应事件。 (2)Speciaeffect:指定其是否有三维外形

  39. 8.4.4 表单集 表单集是一个包含一个或多个表单的父层次的容器类控件,它可将多个表单组成一组,以便成组处理。 1.表单集的创建 (1)创建步骤 ①创建或打开一个将被包含于表单集中某表单,假设此表单名为Form1。 ②选定“表单”菜单的“创建表单集”命令

  40. ②表单的删除 若要从表单集中删除表单,可选定该表单或从属性窗口中选定要删除表单,再选择“表单”菜单的“移除表单”命令。 2.表单集的删除 只有当表单集中仅剩余一个表单时,表单集才可删除。“表单”菜单中的“移除表单集”命令可用于删除表单集。表单集删除后表单仍存在。

  41. 3.表单集的运行与释放 (1)表单集的运行 运行表单集可用DO FORM 命令实现 (2)表单集的释放 方法1:使用命令Release ThisformSet来释放表单集。 方法2:表单集随最后一个表单的释放而自动释放,此时表单集的AutoRelease属性为.T.。

  42. 例:用表单集对STAFF、TEACH、COURSE三表建立联动查徇。例:用表单集对STAFF、TEACH、COURSE三表建立联动查徇。 (1)打开表单设计器,在数据环境中依次添加STAFF、TEACH、COURSE三表,并通过拖拉连线建立关联。 (2)创建表单集:选定表单菜单的“创建表单集命令”。 (3)向表单集添加两个表单:选定表单菜单的“添加表单命令”两次,表单设计器窗口中将出现Form2、Form3表单。 (4)将数据环境中STAFF表、TEACH表、COURSE表的标题栏依次拖放到Form1、Form2、Form3上,调整三个表单的大小和位置,使它们并排。 (5)Form1的UnLoad事件代码编写如下: THISFORMSET.Release && 使表单集随着Form1的释放而释放 (6)将表单集存为LHCX.SCX ,结果如图

  43. 8.5 连接类 8.5.1.ActiveX绑定控件 ActiveX控件用于直接在表单上插入ActiveX控件与OLE对象。而ActiveX绑定控件则实现在表单上显示表中通用字段的数据。 1.OLE对象 OLE技术全称是“对象的嵌入与链接”,在Windows中支持OLE技术的应用程序,可借助它进行数据交换。

  44. 2.属性选介 (1)ControlSource:设置ActiveX绑定控件的数据源, 必须设置。 (2)Stretch:指定如何对图像尺寸进行调整,以放入一个OLE对象。 (3)AutoVerbMenu:指定在运行时,ActiveX绑定对象有没有快捷菜单 2.超级链接 “超级链接”对象的功能主要通过一个方法程序Navigatito实现。它允许用户指定一个网址,调用它VFP就会启动浏览器,并根据指定的网址进入相应的网站显示网页。

  45. 例:在表单上创建一个命令钮,要求表单运行时单击该命令钮可跳转到微软网站。例:在表单上创建一个命令钮,要求表单运行时单击该命令钮可跳转到微软网站。 (1)创建如图表单。 (2)Command1的Caption属性设置为:微软网站 (3)Command1的Click事件代码编写如下: THISFORM.Hyperlink1.Navigateto(“www.sina.com.cn”)

More Related