第8章表单设计_第1页
第8章表单设计_第2页
第8章表单设计_第3页
第8章表单设计_第4页
第8章表单设计_第5页
已阅读5页,还剩66页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、8.1 8.1 表单设计基础表单设计基础8.1.1 8.1.1 表单简介表单简介1.1.表单控件表单控件 表单:即表单:即窗口窗口, ,一种用户界面一种用户界面. .表单是一种表单是一种容器类控件容器类控件,在它上面可以,在它上面可以添加其它控件。添加其它控件。2.2.表单的属性表单的属性 ( (表表8-2)8-2)主要属性:主要属性: CaptionCaption其它:其它:visiblevisible、backcolorbackcolor、autocenterautocenter3.3.表单事件表单事件(1)(1)表单常用事件表单常用事件 表表P247P247表表8-3:8-3: load

2、 load、initinit(二者均为系统事件)(二者均为系统事件)说明:说明:不同的控件能够响应的事件各不相不同的控件能够响应的事件各不相同同. .VFPVFP系统事件发生的先后顺序:系统事件发生的先后顺序:表 单表 单 l o a d l o a d 对 象对 象 ( ( 从 内 到 外从 内 到 外 ) ) init init 表单表单activate activate 用户触用户触发事件发事件 表单表单unloadunload(2)(2)事件过程事件过程:某事件发生时所执行的代码某事件发生时所执行的代码, ,称为该事称为该事件对应的事件过程件对应的事件过程. . (3)(3)事件驱动方

3、式事件驱动方式: :P246P246系统处于等待状态系统处于等待状态, ,直到某直到某事件发生事件发生, ,转转去去执行执行对应的对应的事件过程事件过程, , 事件过程执行事件过程执行完毕后完毕后, ,系统又处于等待状态系统又处于等待状态, ,等待下一等待下一事件发生。事件发生。4. 4. 常见表单方法程序常见表单方法程序P246P246 主要:主要:refreshrefresh、releaserelease 其它:其它:showshow、hidehide等等5.5.表单的数据环境表单的数据环境 若设计的表单要用到表文件若设计的表单要用到表文件.dbf.dbf, 则则要把需要用到的表添加到表单

4、的数据要把需要用到的表添加到表单的数据环境中,环境中,运行表单时将自动打开这些运行表单时将自动打开这些表。表。 并且设置用以显示字段信息的相关并且设置用以显示字段信息的相关控件控件( (与数据绑定的控件与数据绑定的控件) )的相关属性的相关属性p248p248表表. .6. 6. 用用 表单设计器表单设计器 设计表单的步骤:设计表单的步骤:P248P248 7. 7. 生成表单的方法:生成表单的方法:表单向导表单向导快速表单快速表单使用表单设计器使用表单设计器8.1.2 8.1.2 表单向导表单向导1. .表单向导表单向导例例8-1:8-1: 用用“表单向导表单向导”建立学生基本建立学生基本情

5、况表单情况表单 观察观察: : 文本框的文本框的ControlSourceControlSource属属性与表单的数据环境性与表单的数据环境2.2.一对多表单向导一对多表单向导例例8-2: 8-2: 用表单向导用表单向导 根据根据“学生学生”和和“选课选课”建立成绩表单建立成绩表单观察:观察:文本框的文本框的ControlSourceControlSource属性、属性、表格的表格的RecordSourceRecordSource属性和表格属性和表格列的列的ControlSourceControlSource属性与表单的属性与表单的数据环境数据环境设计步骤:设计步骤:P251P2518.1.3

6、 8.1.3 表单设计器表单设计器文件文件新建新建表单表单1. 1. 控件的画法控件的画法, ,按钮锁定按钮锁定2.2.属性窗口属性窗口 P258P258(1)(1)对象对象: : 对象名称,对象名称,默认默认namename属性值属性值(2) (2) 选项卡选项卡(3)(3)属性设置框属性设置框: : 用来更改属性值,三种可能方式:A.直接输入属性值,后enter B.通过下拉框输入C.启动对话框(单击右侧带有的按钮)(4)(4)属性列表框属性列表框 双击属性名遍历所有可选项双击属性名遍历所有可选项 (5)(5)属性说明信息属性说明信息引引: : 创建控件创建控件 表表8-78-7控件的名称

7、控件的名称 剪切、复制、调整大小、多对象的选定剪切、复制、调整大小、多对象的选定shiftshift 设置对象属性设置对象属性( (命令按钮下一条命令按钮下一条) ) 6.6.调整控件布局调整控件布局 P257P257(1) (1) 手动调整手动调整(2) (2) 使用布局工具栏使用布局工具栏多个对象的选定:多个对象的选定:shift+shift+单击单击 拖曳拖曳附:附:VFPVFP工具栏的显示与隐藏工具栏的显示与隐藏 “显示显示”菜单菜单 “ “工具栏工具栏” ”n表单设计器工具栏表单设计器工具栏n表单控件工具栏表单控件工具栏n布局工具栏布局工具栏n调色板工具栏调色板工具栏7.7.代码编辑

8、窗口代码编辑窗口P259P259打开对象的代码窗口常用的方法是:打开对象的代码窗口常用的方法是:双击双击对象对象u对象组合框对象组合框: : 显示当前显示当前对象对象u过程组合框过程组合框: : 选择选择事件事件例:设置例:设置“下一条下一条”command1command1的的clickclick事件代码:事件代码:SkipSkipThisform.refreshThisform.refresh8. 8. 表单设计器中数据环境的设置表单设计器中数据环境的设置 当表单上显示的数据来源于当表单上显示的数据来源于dbfdbf表文表文件时,需要向表单的件时,需要向表单的“数据环境设计数据环境设计器器

9、”中添加表。中添加表。打开数据环境设计器的方法:打开数据环境设计器的方法:右击右击表单表单选择快捷菜单中的选择快捷菜单中的“数据环境数据环境”命令命令 (1)(1)添加表或视图添加表或视图 22若有两个或多个表,设置表间关系若有两个或多个表,设置表间关系 (3)(3)将要在表单上显示的字段从将要在表单上显示的字段从“数据环数据环境境”中拖向表单中拖向表单。8.1.4 表单的运行表单的运行(1)(1)命令格式:命令格式: Do form Do form .scx(2) (2) ! ! (3) “(3) “程序程序”“运行运行”8.2 表单控件的使用表单控件的使用8.2.1 8.2.1 控件的基本

10、操作控件的基本操作1.1.创建控件创建控件( (单击、拖动单击、拖动) )2.2.调整控件调整控件 选定单个或多个控件、调整大小、调选定单个或多个控件、调整大小、调整位置、删除剪切控件整位置、删除剪切控件. .3.3.设置控件属性设置控件属性8.2.2 标签控件标签控件(Label)1)1)功用功用:主要用于显示固定的文本信息。:主要用于显示固定的文本信息。2)2)主要属性:主要属性:CaptionCaption: : 标题文本标题文本, ,即标签上显示的字即标签上显示的字 C C型型Name: Name: 标签的名称标签的名称( (默认默认Label1Label1,label2,label2

11、一般不改一般不改) )FontNameFontName:字体:字体FontsizeFontsize:字体大小字体大小 FontBoldFontBold:字体是否加粗:字体是否加粗ForeColorForeColor:前景色:前景色,即字体颜色即字体颜色BackColor:背景色:背景色AutosizeAutosize:根据显示信息的多少是否根据显示信息的多少是否自动调整标签宽度自动调整标签宽度Visible : Visible : 标签是否可见标签是否可见2)2)事件事件一般不设计标签响应的事件,但标签可一般不设计标签响应的事件,但标签可以响应以响应clickclick事件事件. . 例例8-

12、38-3 设计如图设计如图8-248-24所示的所示的“教学管教学管理系统理系统”的系统登录表单的系统登录表单DL1.SCX.DL1.SCX. 表单主要属性:表单主要属性:caption caption 表表8-118-11 标签主要属性:标签主要属性:captioncaption、 fontnamefontname、fontsizefontsize、autosizeautosize8.2.3 8.2.3 文本框控件文本框控件(TextBox)(TextBox)1)1)功能功能:主要用于接收用户输入,也可用:主要用于接收用户输入,也可用于显示信息,一般只包含一行文本于显示信息,一般只包含一行文

13、本. . 画一个演示画一个演示2)2)主要属性主要属性: :Name: Name: 名称名称 默认默认text1text1,text2,text2ValueValue: : 文本框的值文本框的值( (文本框中显示的信息文本框中显示的信息) )ReadOlny : ReadOlny : 文本框是否只读文本框是否只读PasswordChar : PasswordChar : 文本框的占位符文本框的占位符ControlSourceControlSource : : 文本框的数据源文本框的数据源其它:其它:n输出格式控制输出格式控制FormatFormatKK:当控件具有焦点时选择所有文本。:当控件具

14、有焦点时选择所有文本。n输入格式输入格式InputmaskInputmask常用掩码常用掩码P126: ! !、 X X 、9 9 例例8-48-4 文本框的输入功能文本框的输入功能 设计一个可以输入操作员姓名和密码的表单。设计一个可以输入操作员姓名和密码的表单。 演示演示 例例 文本框的输出功能、文本框与数据的绑文本框的输出功能、文本框与数据的绑定定. . 设计显示学生表的学号、姓名、入校总分字设计显示学生表的学号、姓名、入校总分字段信息的表单。段信息的表单。 演示演示文本框绑定文本框绑定.scx.scx 方法方法1:1: 手动绘制各对象、设置数据环境、设手动绘制各对象、设置数据环境、设置文

15、本框的置文本框的controlsourcecontrolsource属性属性. . 演示在文本框中修改演示在文本框中修改数据会影响表数据数据会影响表数据. . 方法方法2:2: 从数据环境中拖字段入表单从数据环境中拖字段入表单( (自动设自动设置置namename属性,属性,controlsourcecontrolsource属性等属性等) )注意注意:(1)(1)默认情况下默认情况下,在文本框中输入的内容,在文本框中输入的内容(valuevalue属性的值),不管是数字还是字属性的值),不管是数字还是字符,符,均默认是均默认是字符型字符型(C)(C) (2)(2)文本框中可以输入文本框中可以

16、输入C C、NN、D D、L L型的数据,型的数据,由由valuevalue属性初值的类型属性初值的类型决定决定: : 字符型字符型 无无 默认输入的数据是字符型默认输入的数据是字符型 数值型数值型 0 0 日期型日期型 逻辑型逻辑型 .F. .F.3 3)事件:)事件:常用文本框事件有常用文本框事件有Gotfocus: Gotfocus: 当文本框获得焦点时发生当文本框获得焦点时发生Lostfous: Lostfous: 当文本框失去焦点时发生当文本框失去焦点时发生(tab(tab或或enter)enter)Keypress: Keypress: 当用户按下并释放键盘上当用户按下并释放键盘上

17、的某个键时发生的某个键时发生4 4)主要方法)主要方法:setfocus (setfocus (将焦点设置将焦点设置到某对象上到某对象上) ) 如:如:thisform.text1.setfocusthisform.text1.setfocus例:例:输入半径求圆面积输入半径求圆面积. .演示演示 圆面积圆面积.scx.scx分析:在分析:在text1text1中输入中输入半径半径,回车回车后在后在text2text2中中显示结果显示结果,text2,text2中中不可输入数据不可输入数据. .主要属性设置主要属性设置Text1: value 0Text1: value 0 format K

18、format K Text2: value 0 Text2: value 0 readonly .t. readonly .t.编写编写Text1.keypressText1.keypress事件代码事件代码: :r=thisform.text1.valuer=thisform.text1.valueif nkeycode=13if nkeycode=13 thisform.text2.value=3.14 thisform.text2.value=3.14* *r r* *r r endif endifText1Text1中输完数据后中输完数据后, ,敲回车敲回车, ,光标光标( (焦焦点点

19、) )自动定位到自动定位到text2text2中中, text2, text2获得获得焦点发生焦点发生gotfocusgotfocus事件事件Text2.gotfocusText2.gotfocus事件代码事件代码: :thisform.text1.setfocusthisform.text1.setfocus说明:若最初没有设置文本框的说明:若最初没有设置文本框的valuevalue属性,则输入的数字默认是字符型,属性,则输入的数字默认是字符型,计算面积时需用计算面积时需用val()val()函数进行转换函数进行转换. .8.2.4 8.2.4 命令按钮命令按钮(Command)(Comma

20、nd)1.1.功能功能: : 起控制作用起控制作用2.2.主要属性主要属性 name: name: 名称名称 默认默认command1,command2command1,command2 captioncaption :命令按钮标题:命令按钮标题 上面的字上面的字 enabled:enabled: 命令按钮是否可用命令按钮是否可用3. 3. 事件事件 :Click:Click: 当用户点击命令按钮时发生当用户点击命令按钮时发生 例例8-58-5设计设计P267P267图图8-298-29带有命令按钮的系统登带有命令按钮的系统登录表单录表单. . 假设假设“李春昆李春昆”的密码是的密码是“08”

21、08”。 演示演示 (1)Command1(1)Command1(确定确定) )的的clickclick事件代码:事件代码:n 若输入的姓名和密码正确:用信息对话框显示“欢迎使用”。label5不可见。n 若输入的姓名或密码错误:label5可见,显示“操作员姓名或密码错,请重新输入”。将焦点定位于text2中,并将其内容清空。(2) command2(2) command2(取消取消) )的的clickclick事件代码事件代码: : 用信息对话框提示是否退出图8-32n若点击若点击“是是”:关闭表单:关闭表单n若点击了若点击了“否否”:信息对话框提示:信息对话框提示“重新输入重新输入”,

22、,并将焦点定位于并将焦点定位于text2text2中中. .8.2.5 列表框列表框(ListBox)1.1.功用:功用:用于显示供用户选择的列表项。用于显示供用户选择的列表项。2.2.主要属性:主要属性:lname(list1,list2) name(list1,list2) lRowSourceRowSource:列表框数据的来源:列表框数据的来源lRowSourceTypeRowSourceType: :列表框数据源的类型列表框数据源的类型( (无,无,字段,字段,SQL)SQL)lvalue value : :返回列表框中选定列表项的值返回列表框中选定列表项的值( (默认默认字符型字符

23、型) )其它属性:其它属性:lColumnCount: ColumnCount: 列表框的列数列表框的列数lboundcolumnboundcolumn:当列表框有多列:当列表框有多列时,指定与时,指定与valuevalue属性绑定的列。属性绑定的列。lListcountListcount:列表框中列表项的个数:列表框中列表项的个数lListindexListindex:返回选定列表项的顺序:返回选定列表项的顺序号号( (取值范围为取值范围为1listcount)1listcount)例例8-68-6 设计一个如图设计一个如图8-338-33的登录表单的登录表单 演示演示 将所有操作员的姓名及

24、其密码保存在将所有操作员的姓名及其密码保存在“教师密码教师密码.dbf”.dbf”中。中。(操作员不再局限于操作员不再局限于“李春李春昆昆”一个人。一个人。 使用表存储操作员信息,操作更简单,不必使用表存储操作员信息,操作更简单,不必用多个用多个if elseif else的嵌套)的嵌套)数据环境:数据环境:教师密码教师密码.dbf.dbf主要属性:主要属性:List1: RowSource List1: RowSource 教师密码教师密码. .姓名姓名 RowSourceType RowSourceType 字段字段编写编写command1.clickcommand1.click事件代码事

25、件代码检测在检测在list1list1中选中的姓名中选中的姓名thisform.list1. thisform.list1. valuevalue与输入的密码是否匹配(通过使用与输入的密码是否匹配(通过使用“教教师密码师密码.dbf”.dbf”检测)检测) 书上程序不合理书上程序不合理3.3.主要事件主要事件InteractiveChangeInteractiveChange:用户使用鼠标或用户使用鼠标或键盘修改列表框的值时发生(即选择不键盘修改列表框的值时发生(即选择不同的列表项时发生)同的列表项时发生)Click:Click: 单击列表项时发生。单击列表项时发生。例:例:设计一个表单:在列

26、表框中显示所有设计一个表单:在列表框中显示所有学生的学号,单击任意一个列表项,右学生的学号,单击任意一个列表项,右则 文 本 框 中 显 示 该 生 的 信 息 。则 文 本 框 中 显 示 该 生 的 信 息 。list_interaclist_interac4.4.方法:方法: (1) (1) 向列表框添加一个列表项向列表框添加一个列表项对象名对象名. Additem( . Additem( 字符串字符串) )说明:默认向列表框末尾添加列表项说明:默认向列表框末尾添加列表项(2) (2) 删除一个列表项删除一个列表项对象名对象名.removeitem(.removeitem(列表项序号列表

27、项序号 ) ) 例例 演示演示list_additem.scxlist_additem.scx8.2.6 8.2.6 组合框组合框(ComboBox)(ComboBox) 功用:功用:用于从列表项中选取数据并显示用于从列表项中选取数据并显示在编辑窗口中。在编辑窗口中。与列表框功能相同,区别与列表框功能相同,区别270270主要属性主要属性与方法和列表框相同:与方法和列表框相同:RowSourceRowSource:组合框数据的来源:组合框数据的来源RowSourceTypeRowSourceType: :组合框数据源的类型组合框数据源的类型Style:Style: 0 0下拉组合框下拉组合框(

28、 (既可在列表中选既可在列表中选择列表项,也可在组合框中键入一值择列表项,也可在组合框中键入一值) ) 1 1下拉列表框下拉列表框( (仅可在列表中选仅可在列表中选择列表项择列表项) )value :value : 返回组合框中选择的列表项返回组合框中选择的列表项Displayvalue: Displayvalue: 返回组合框中输入的返回组合框中输入的文本或选择的列表项文本或选择的列表项. .例例8-7 8-7 P271 P271 设计如图设计如图8-358-35的登录系的登录系统的身份验证表单。统的身份验证表单。 假设每个教师的假设每个教师的登录密码是登录密码是教师号教师号。在组合框中选择

29、教师姓名,在文本框在组合框中选择教师姓名,在文本框中输入密码,单击中输入密码,单击“确定确定”按钮检测按钮检测输入的密码是否正确。若正确输入的密码是否正确。若正确将成功将成功登录的用户的姓名和登录时间记录在登录的用户的姓名和登录时间记录在“JRJL.dbf”JRJL.dbf”中。中。演示演示数据环境数据环境: : 教师教师.dbf .dbf JRJL.dbfJRJL.dbf8.2.7 编辑框编辑框(EditBox)n功能功能:与:与文本框的功能基本相同,文本框的功能基本相同,编辑框主要用于输入编辑框主要用于输入多段多段文本,或文本,或显示显示备注字段备注字段的信息。的信息。n 允许自动换行允许

30、自动换行, , 并能用方向键、并能用方向键、PageUpPageUp和和pagedownpagedown键以及滚键以及滚动条来浏览文本。动条来浏览文本。2.2.主要属性主要属性:Name: Name: 默认默认edit1edit1、edit2edit2ControlSourceControlSource:绑定的数据源绑定的数据源Readonly: Readonly: 是否只读是否只读Scrollbars 0:Scrollbars 0:无滚动条无滚动条 2: 2: 有垂直滚动条有垂直滚动条( (默认默认) )3.3.与文本框的区别:与文本框的区别:文本框文本框: :可容纳可容纳一段一段文本文本,

31、 ,可编辑可编辑4 4种类型种类型的数据的数据编辑框编辑框: : 可容纳可容纳多段多段文本文本, ,仅可编辑仅可编辑字符型字符型数据数据例例8-8: 8-8: 设计一个如图设计一个如图8-378-37所示的显示和编辑所示的显示和编辑学生特长表单。学生特长表单。要求输入姓名回车后,在编辑框中显示特长。要求输入姓名回车后,在编辑框中显示特长。控件的主要属性设置:控件的主要属性设置:form1: captionform1: captionEdit1: Edit1: controlsourcecontrolsource 自动显示当前记录自动显示当前记录指针所指向的记录中相应字段的值指针所指向的记录中相

32、应字段的值数据环境:数据环境:学生学生事件代码编写:事件代码编写: edit1.lostfocusedit1.lostfocus form1.init form1.init 为使表单运行时不显示第一个为使表单运行时不显示第一个学生的特长,将记录指针指向文件尾。学生的特长,将记录指针指向文件尾。事件执行顺序:事件执行顺序:8.2.8 8.2.8 复选框复选框(CheckBox)(CheckBox)1. 1. 功用:功用:用于提供只有两个逻辑值选项用于提供只有两个逻辑值选项的控件,用户可选中或清除。的控件,用户可选中或清除。2.2.主要属性主要属性: : NameName:默认:默认check1c

33、heck1、check2 check2 CaptionCaption:指定显示在复选框右边的文字指定显示在复选框右边的文字 valuevalue 0 0未选中未选中 11选中选中 22不能用不能用3.3.事件:事件:clickclick例:例: “复选框复选框.scx” .scx” 演示演示例例8-9: 8-9: 设计一个查询学生选课成绩的设计一个查询学生选课成绩的表单表单P273P273图图8-408-40。SqlSql查询可不用事先打开表查询可不用事先打开表8.2.9 8.2.9 选项按钮组选项按钮组(OptionGroup)(OptionGroup)1. 1. 功能:功能:提供给用户多个

34、选项,用户提供给用户多个选项,用户选择其中一个选项。选择其中一个选项。( (多选一多选一) )2. 2. 是一个是一个容器类控件容器类控件,它的直接下级,它的直接下级对象是选项按钮对象是选项按钮(Option)(Option)3.3.选项按钮组主要属性:选项按钮组主要属性:name: name: optiongroup1,optiongroup2optiongroup1,optiongroup2ButtonCountButtonCount: : 选项按钮个数选项按钮个数ValueValue: : 若若valuevalue属性值为属性值为n n,表示第,表示第n n个按钮被选中个按钮被选中4.4

35、.选项按钮的主要属性:选项按钮的主要属性: name:name:名称名称(option1(option1、option2)option2) Caption: Caption: 标题文本标题文本 选项按钮旁边的文字选项按钮旁边的文字 注意:注意:容器类对象容器类对象( (如选项按钮组如选项按钮组) )的编的编辑:辑:右击对象,在快捷菜单中选择右击对象,在快捷菜单中选择“编辑编辑”命令。命令。5. 5. 选项按钮组选项按钮组常见事件常见事件: : click click 事件事件例例8-20 8-20 设计一表单,输入两数,求设计一表单,输入两数,求两数的和、差、积或商两数的和、差、积或商. .演

36、示演示 各控件属性设置各控件属性设置 表表8-24 8-24 (1)(1)可以用可以用选项按钮生成器选项按钮生成器,避免设置,避免设置属性的麻烦。属性的麻烦。(2) (2) 命令按钮的命令按钮的clickclick事件代码的编写事件代码的编写8.2.10 微调控件微调控件(Spinner)1. 1. 功能:功能:用于接收给定范围内的数值输入用于接收给定范围内的数值输入2.属性: name(spinner1 name(spinner1 、spinner2)spinner2) increment: increment:按一次微调按钮的增减数按一次微调按钮的增减数 SpinnerHighvalue:

37、SpinnerHighvalue:可输入或调节的可输入或调节的最大值。最大值。 SpinnerLowValue:SpinnerLowValue:可输入或调节的可输入或调节的最小值。最小值。Controlsource:Controlsource: 微调按钮数据源微调按钮数据源valuevalue: : 微调控件的当前值微调控件的当前值例例:8-11 :8-11 设计一个教师工资调整表单。设计一个教师工资调整表单。演示演示数据环境:教师数据环境:教师主要属性:表主要属性:表8-258-25事件代码:事件代码: eractivechan

38、ge command1.click command1.click command2.click command2.click例例8-12 设计一个工资调整表单,一次可以调整设计一个工资调整表单,一次可以调整多个教师的工资多个教师的工资。演示演示 图图8-528-52属性:属性: 表表8-26 list18-26 list1的的multiselectmultiselect属性属性. .Command1.click(Command1.click(添加)添加)forfor i=1 to thisform.list1.listcount i=1 to thisform.list1.listcount

39、if thisform.list1. if thisform.list1.selected(i)selected(i)=.t.=.t. thisform.list2. thisform.list2.additemadditem(thisform.list1.list(i)(thisform.list1.list(i) mand2.enabled=.t. mand2.enabled=.t. endif endifendfor endfor 第第i个列表项选中与个列表项选中与否,选中则属性值否,选中则属性值为为.t.8.2.11 计时器控件计时器控件(Timer)功用:功用:利用系统时钟来控制某些

40、具有规利用系统时钟来控制某些具有规律性的周期任务的定时操作律性的周期任务的定时操作. .说明:说明:TimerTimer控件在运行时不可见。控件在运行时不可见。主要属性:主要属性: name : (Timer1 Timer2)name : (Timer1 Timer2) Enabled: Enabled:控制计时器是否进行计时控制计时器是否进行计时 IntervalInterval: : 定义两次记时器事件触发定义两次记时器事件触发的时间间隔的时间间隔( (单位:单位:毫秒毫秒). ).事件:事件: timer timer ( (记时器事件记时器事件). ). 即:利用系统时钟计时,每隔规定的

41、即:利用系统时钟计时,每隔规定的时间时间(interval)(interval)系统便自动去执行一系统便自动去执行一次次TimerTimer事件代码事件代码例:例:8-138-13 P281 P281字从小变大字从小变大, ,修改修改fontsizefontsize属性,颜色属性,颜色红黑交替变化,红黑交替变化,forecolorforecolor属性。属性。字从右向左移,修改标签的字从右向左移,修改标签的leftleft属性属性( (减减) )修改:如何加快移动速度修改:如何加快移动速度例例 8-14 8-14 设计一个显示计算机系统时设计一个显示计算机系统时间的表单。单击间的表单。单击“暂

42、停暂停”,暂停时间,暂停时间显示;单击显示;单击“继续继续”,恢复时间显示。,恢复时间显示。演示演示属性:属性:Timer1Timer1的的intervalinterval属性属性事件:各命令按钮的事件:各命令按钮的clickclick事件事件8.2.12 图像控件(Image)功用功用: : 可以通过该控件显示图片可以通过该控件显示图片主要属性:主要属性:name :( image1 image2)name :( image1 image2)picturepicture: : 显示的图片文件显示的图片文件stretch: stretch: 图片的显示方式,以下三种图片的显示方式,以下三种 0

43、0将图像的超出部分裁剪掉将图像的超出部分裁剪掉 11等比例填充等比例填充 22变比例填充变比例填充例例8-158-15设计一个以不同显示方式显示图片的设计一个以不同显示方式显示图片的表单表单 演示演示 属性属性:P286P286image1image1图像控件图像控件: picture: picture、stretchstretchoptiongroup1optiongroup1选项按钮组:选项按钮组:buttoncountbuttoncount属性、属性、valuevalue属性属性各选项按钮的:各选项按钮的:captioncaption属性属性事件:事件:optiongroup1optio

44、ngroup1的的clickclick事件事件8.2.13 表格(Grid)功能:功能:将数据以表格形式显示在表单上。在将数据以表格形式显示在表单上。在创建一对多表单时通过,表格控件显示子表创建一对多表单时通过,表格控件显示子表记录。记录。表格是一个表格是一个容器容器, ,层次关系如下:层次关系如下:表格表格(grid)(grid)列列(column) (column) 各列标题各列标题(header)(header)和列控件和列控件表格的主要属性:表格的主要属性: RecordSourceRecordSource: :表格的数据源表格的数据源 RecordSourceTypeRecordSo

45、urceType: :数据源类型数据源类型(0(0表表, ,1 1别名别名,4 SQL,4 SQL) ) ColumnCount: ColumnCount: 表格列数表格列数l列列(column)(column)的主要属性的主要属性: : controlsourcecontrolsource列的数据源(绑定的字段)列的数据源(绑定的字段)l列标题列标题(header)(header)的主要属性的主要属性: : caption caption属性属性三种创建表格的方法三种创建表格的方法1.1.表格生成器表格生成器( (表中的数据只来源于一个表表中的数据只来源于一个表的情况的情况) )2. 2.

46、手动画表格手动画表格 表格属性设置表格属性设置: : 列列column: controlsourcecolumn: controlsource 列标题列标题header: captionheader: caption3.3.从数据环境拖向表单从数据环境拖向表单形成表格形成表格 观察观察recordsourcerecordsource和和recordsourcetyperecordsourcetype 宽度调整宽度调整( (容器对象的编辑容器对象的编辑) ) 列的删除列的删除例例8-168-16 设计一个如图设计一个如图8-668-66所示的学所示的学生成绩查询表单。利用表格生成器。生成绩查询表

47、单。利用表格生成器。 表单程序演示表单程序演示 1.1.打开数据环境打开数据环境, ,添加两表添加两表( (先先添加一对多关添加一对多关系的系的一方,即父表一方,即父表学生学生, , 再添子表选课再添子表选课), ),设置表间关联。设置表间关联。2.2.添加控件添加控件, ,设置控件属性设置控件属性组 合 框组 合 框 : : r o w s o u r c e r o w s o u r c e rowsourceTyperowsourceType表格表格: : 用生成器用生成器说明:组合框中选择列表项时,表记录指说明:组合框中选择列表项时,表记录指定会自动移动到对应记录上定会自动移动到对应

48、记录上。3. 3. 编写编写grid1.initgrid1.init事件代码事件代码说明说明: : n若若表格显示的数据列来源于表格显示的数据列来源于多个表多个表时时,recordsourcetype,recordsourcetype属性一般属性一般设置为设置为4 4 SQLSQL( (见图见图8-72)8-72)1.1.若表格显示数据列来源于个表若表格显示数据列来源于个表, ,则则recordsourcetyperecordsourcetype属性一般设属性一般设置为置为1 1 别名别名例例 8-17 8-17 设计一个如图设计一个如图8-728-72所示的成绩查询表单。所示的成绩查询表单。

49、添加控件,设置属性添加控件,设置属性. . 表表3-1 3-1 手动设置表格属性手动设置表格属性说明:说明:sqlsql所用到的表可不必事先放入数据环境中。所用到的表可不必事先放入数据环境中。事件代码:事件代码:text1.lostfocustext1.lostfocusthisform.grid1.rthisform.grid1.recordsourcetypeecordsourcetype=4=4thisform.grid1.thisform.grid1.recordsourcerecordsource= = select select 课程名课程名, ,成绩成绩; ; from from

50、 学生学生 inner join inner join 选课选课 inner join inner join 课程课程; ; on on 选课选课. .课程号课程号= =课程课程. .课程号课程号; ; on on 选课选课. .学号学号= =学生学生. .学号学号; ; where where 姓名姓名=alltrim(thisform.text1.value);=alltrim(thisform.text1.value); into cursor temp into cursor temp 例例8-18 8-18 设计一个学生成绩查询表单设计一个学生成绩查询表单数据环境:学生、选课数据环境

51、:学生、选课 ( (建立两表关联建立两表关联) )从数据环境中将表的标题栏拖向表单,从数据环境中将表的标题栏拖向表单,自动生成表格,右击表格,选择自动生成表格,右击表格,选择“编编辑辑”,选中不要的列,按,选中不要的列,按“delete”delete”键删除。键删除。操作演示操作演示8.2.14 页框(页框(PageFrame)页框实际上是选项卡界面页框实际上是选项卡界面, , 一个页框可以一个页框可以有两个以上的页面,是有两个以上的页面,是容器类控件容器类控件,直,直接下级对象是页面接下级对象是页面(page)(page)主要属性:主要属性:名称:名称:namename(PageFrame1

52、PageFrame1)页框页面数页框页面数: : PageCountPageCount页框的每一页的标题:页框的每一页的标题:CaptionCaption例:例:8-19 P2928-19 P292 表单程序演示表单程序演示 (1) (1)向表单添加页框控件并设置属性:向表单添加页框控件并设置属性: pageCount: 3pageCount: 3及各页的及各页的captioncaption属性值属性值 (2)(2)数据环境:教师、授课、课程数据环境:教师、授课、课程(3)(3)右击右击页框页框选择选择“编辑编辑”命令,命令,选中第一个页,从数据环境中将选中第一个页,从数据环境中将“教教师师”

53、拖向第一页拖向第一页. .注意:注意:容器类控件的编辑容器类控件的编辑8.2.15 命令按钮组命令按钮组(CommandGroup)将多个命令按钮组合在一起,作为一控件,将多个命令按钮组合在一起,作为一控件,即即“命令按钮组命令按钮组”控件,该控件是控件,该控件是容器类容器类控件,它的直接下级对象是命令按钮控件,它的直接下级对象是命令按钮. . command1 command1Commandgroup1Commandgroup1 command2 command2 name: commandgroup1name: commandgroup1ButtonCountButtonCount:命令按钮的个数:命令按钮的个数A.A. 命令按钮组的编辑命令按钮组的编辑B.B.命令按钮组生成器命令按钮组生成器 的使用的使用例:例:8-208-20 表单程序演示表单程序演示 向数据环境添加表向数据环境添加表( (学生学生.dbf).dbf)直接把需要的显示的字段从数据环直接把需要的显示的字段从数据环境中境中拖向表单拖向表单. . 将文本框设为将文本框设为只读只读再添加命令按钮组,设置相关属性。再添加命令按钮组,设置相关属性。或使用命令按钮组生成器或使用命令按钮组生成器编写命令按钮的编写命令

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论