




已阅读5页,还剩60页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第7章表单设计与应用,第7章表单设计与应用,2,本章内容,面向对象程序设计的概念,7.1,创建表单,7.2,表单设计器,7.3,表单的属性、事件和方法,7.4,基本型控件,7.3,容器型控件,7.4,第7章表单设计与应用,3,表单是程序界面,对话框和窗口,第7章表单设计与应用,4,表单是面向对象程序设计思想在VFP中的体现对象:现实世界中的任何实体都可以认为是对象对象的三要素属性:用来描述对象的状态,是对象的静态物理特征事件:一种预先定义好的能被对象识别和响应的动作方法:用来描述对象的行为过程VFP中的对象,组合框是对象,命令按钮是对象,列表框是对象,标签是对象,第7章表单设计与应用,5,类的概念,类是具有相同或相似性质的对象的抽象,也就是说类是具有相同属性、共同方法的对象的集合类是对象的抽象,对象是类的具体化,是类的实例所有的属性、事件和方法都是由类定义的,第7章表单设计与应用,6,汽车,一辆红色小汽车,类和对象的关系:,这是一个对象,因为它是指一辆具体的汽车实体,该对象的属性为红色、小型等,这是一个类不专指特定的事物,第7章表单设计与应用,7,7.1面向对象程序设计的概念,对象的访问和调用容器与控件对象Thisform.Command1,Thisform,This.Parent,第7章表单设计与应用,8,7.2创建表单,第7章表单设计与应用,9,使用表单向导创建表单【例7.1】利用表单向导为数据表“学生.dbf”创建单表表单,表单标题为“学生信息管理”,表单文件名为“学生管理.SCX”,按学号升序排列。,7.2创建表单,第7章表单设计与应用,10,使用表单设计器创建表单“文件”“新建”CREATEFORM,7.2创建表单,第7章表单设计与应用,11,修改表单“文件”“打开”MODIFYFORMMODIFYFORM学生情况.scx表单的保存和运行保存表单(表单文件扩展名:.scx)运行表单(多种方法),7.2创建表单,第7章表单设计与应用,12,7.3控件的操作与布局,对于表单上的控件可以进行以下操作,选择控件移动控件缩放控件,复制控件删除控件控件对齐,设置Tab键次序,第7章表单设计与应用,13,7.3.3数据环境,向数据环境添加表或视图:右键单击“数据环境设计器窗口”,然后在弹出的快捷菜单中选择【添加】命令从数据环境中移去表或视图:右键单击要移去的表或视图,然后在弹出的快捷菜单中选择【移去】命令,第7章表单设计与应用,14,7.4.1定义表单外观的属性,AlwaysOnTop属性该属性设置表单在多个窗口时的层次。为真(.T.)时:本表单总在窗口的最前面,不会被其他窗口遮盖。为假(.F.)时:本表单可以被其他窗口所遮盖。AutoCenter属性决定表单在VF窗口中的位置是否剧中BackColor属性该属性设置表单窗口的背景颜色BorderStyle属性指定表单边框样式。0:无边框。1:单线边框。2:固定对话框。3:可调边框(默认值)Caption属性表单标题栏显示文本内容。可以在表单属性窗口中设置,也可以用命令语句设置,第7章表单设计与应用,15,7.4.1定义表单行为的属性,Closable属性表单标题栏上的关闭按钮是否有效。为真(.T.)时:关闭按钮有效,可以关闭表单。为假(.F.)时:关闭按钮无效,不能关闭表单。关闭表单选择“文件关闭”,MaxButton属性为真(.T.)时:最大化按钮有效,可以将表单最大化或还原表单大小。为假(.F.)时:最大化按钮无效,不可以最大化表单。,MinButton属性为真(.T.)时:最小化按钮有效,可将表单最小化显示在任务栏处。为假(.F.)时:最小化按钮无效,不能将表单最小化。,Movable属性运行时,用户是否能够移动表单。为真(.T.)时:能移动表单。为假(.F.)时:不能移动表单。,第7章表单设计与应用,16,7.4.1表单其他属性,ShowWindow属性指定一个表单或工具栏是否是顶层表单或是子表单0:在屏幕中(默认值)1:在顶层表单中2:作为顶层表单,WindowType属性表单的模式状态。0:非模式表单,在应用程序中,在关闭运行的非模式表单之前,可以访问程序中的其他界面元素。1:模式表单,在应用程序中,在关闭运行的模式表单之前,不能访问程序中的其他界面元素。,第7章表单设计与应用,17,7.4.2表单常用方法,(1)Refresh方法:刷新表单。(2)Release方法:将表单从内存中释放。表单运行时,用户单击表单右上角的关闭按钮,系统会自动执行Relase方法。(3)Show方法:显示表单。该方法将表单的Visible属性设置为.T.。(4)Hide方法:隐藏表单。该方法将表单的Visible属性设置为.F.。与Relase方法不同,Hide只是把表单隐藏,但并不将表单从内存释放,之后可用Show方法重新显示表单。(5)SetFocus方法使控件获得焦点,从而成为活动对象。当该控件的Visible属性值或Enabled属性值为.F.时,将不能获得焦点.,第7章表单设计与应用,18,7.4.2表单常用事件,Click事件用户在某个对象上单击鼠标时,触发该事件。DbClick事件鼠标双击对象时触发该事件。RightClick事件鼠标右键单击对象时触发该事件。Init事件创建对象时触发。控件Init事件在表单Init事件前引发,因此在表单Init事件代码中访问它所包含的所有控件对象。Destroy事件当释放一个对象时触发。表单Destroy事件在控件Destroy事件引发之前引发。因此能够在表单对象的Destroy事件代码中访问它所包含的所有控件对象。,第7章表单设计与应用,19,7.4.2表单常用事件,Load事件对象创建之前引发。在运行表单时,先引发Load事件,然后引发Init事件。Unload事件释放表单时触发。它是释放表单对象时最后一个触发的事件。GotFocus事件当表单通过用户操作或以代码方式得到焦点时触发。,运行表单引发事件顺序:Load控件的Init表单的Init,释放表单引发事件顺序:表单的Destory控件的Destory表单的Unload,第7章表单设计与应用,20,7.4表单的属性、事件和方法,创建新的属性和方法创建新属性创建新方法,第7章表单设计与应用,21,7.4表单的属性、事件和方法,创建新的属性和方法【例7.5】新建一个表单,在该表单中添加一个名为new的方法,方法代码为:waitnewwindows。,第7章表单设计与应用,22,7.5基本型控件,标签控件Caption属性设置标签控件标题所显示的文本信息Alignment属性设定标签控件中的文本显示的对齐方式,【例7.6】表单上添加一个标签(Label1),标签上显示“欢迎使用”,字体颜色为红色(ForeColor=255,0,0),18号字,黑体,第7章表单设计与应用,23,7.5基本型控件,命令按钮控件Caption属性指定对象的标题文本内容访问键:退出(E)ThisForm.Command1.Caption=退出(E)Default属性指定按下ENTER键时,哪个命令按钮响应在一个表单中,只能有一个命令按钮的Default属性值为.T.Cancel属性指定按下ESC键时,哪个命令按钮响应在一个表单中,只能有一个Cancel属性值为.T.,第7章表单设计与应用,24,7.5基本型控件,命令按钮控件【例7.7】新建一个表单文件myform.scx,其中包含2个命令按钮,标题为“OK”、“Cancel”。如图所示。将“OK”按钮设置为确认按钮,即通过按“Enter”可以选择该按钮,并将其宽度设为60。“Cancel”按钮的第1个字母C设置成“访问键”即通过按Alt+C就可以选择该按钮。单击“Cancel”按钮,关闭并释放表单。,新建表单,添加2个命令按钮属性设置,编写代码“OK”按钮的Click事件代码:Thisform.Caption=“确认”“Cancel”按钮的Click事件代码:Thisform.Release,第7章表单设计与应用,25,7.5基本型控件,文本框控件文本框控件(Text)用于显示文本,也用于编辑文本ControlSource属性指定与对象建立联系的数据源:字段或内存变量Value属性指定或返回文本框中的当前内容,默认为空串可以接收任意类型数据非数字字符型数据或数值型数据时,直接输入数字字符型数据,数据两端要字符定界符表达式的值,以等号引导,第7章表单设计与应用,26,7.5基本型控件,文本框控件PasswordChar属性指定文本框控件内是显示用户输入的字符还是显示占位符InputMask属性指定在文本框控件中如何输入和显示数据,由模式符组成ReadOnly属性指定用户能否修改编辑框中的文本内容为真(.T.)时,用户不能修改编辑框中的内容为假(.F.)时,用户可以修改编辑框中的内容。默认值,该文本框的PasswordChar属性为“*”,第7章表单设计与应用,27,7.5基本型控件,文本框控件,【例7.8】建立如图7.48所示表单。表单文件名和标题名均为“文本框使用”。在操作数1(Label1)和操作数2(Label2)下的2个文本框(分别为Text1和Text2)中只能接收数字、正负号和空格,宽度为5,“计算”按钮的初始状态为不可用,当运行表单后,其状态为可用。单击“退出”按钮关闭并释放表单,运行结果如图7.49所示。,(1)新建表单,添加2个标签、2个文本框、2个命令按钮。(2)属性设置(3)编写代码。Form1的Init事件代码:Thisform.Command1.Enabled=.T.“退出”按钮的Click事件代码:Thisform.Release,第7章表单设计与应用,28,7.6容器型控件,表格控件表格是一个可与数据绑定的容器控件,由若干列对象组成,列包含标头和控件,列拥有自己的属性、事件和方法。ColumnCount属性指定表格列对象的数目。该属性默认值为-1,此时表格将创建足够多的列来显示数据源中的所有字段。RecordSourceType属性和RecordSource属性RecordSource属性为记录源RecordSourceType属性为记录源类型,第7章表单设计与应用,29,7.6容器型控件,表格控件表格基本操作通过设置表格的HeaderHeight和RowHeight属性调整行高,设置列对象的Width属性调整列宽当表格处于编辑状态下,用鼠标拖动调整表格的行高和列宽使用表格生成器设计表格,第7章表单设计与应用,30,7.6容器型控件,表格控件【7.18】修改【例7.17】的选课查询表单,添加一个表格,将查询的结果显示在表格中,1.表格RecordSourceType属性值为“4-SQL说明”,2.“查询”按钮的Click事件代码:xh=Alltrim(ThisForm.Text1.Value)kch=Alltrim(ThisForm.Text2.Value)IFThisForm.OptionGroup1.Value=1ThisForm.Grid1.RecordSource=SELE*FROM;选课WHERE学号=xhINTOCURSORtmpELSEThisForm.Grid1.RecordSource=SELE*FROM;选课WHERE课程号=kchINTOCURSORtmpENDIF,第7章表单设计与应用,31,7.5基本型控件,列表框控件列表框(ListBox)控件包含一个选项列表,用户可以从列表中选择各个选项RowSourceType属性指定列表框中列表项的数据源类型RowSource属性指定列表框中列表项的数据源,第7章表单设计与应用,32,7.5基本型控件,列表框控件List属性用字符串数组List来存取列表框控件中的各个数据项设计时不可用读取列表框中第4行第2列的数据项“徐建军”并在文本框显示:Thisform.Text1.Value=Thisform.List1.List(4,2)将列表框中“王平”的性别设置成“男”:Thisform.List1.List(1,3)=男ListCount属性统计列表框中列表项的数目Val=Thisform.List1.ListCount则变量val值为8,2019/12/14,33,可编辑,第7章表单设计与应用,34,7.5基本型控件,列表框控件ColumnCount属性指定列表框的列数Value属性该属性为只读,返回列表框选中的列表项该属性可以是字符型,也可以是数值型:如果是字符型,返回的是被选中条目本身内容如果是数值型,则返回选中条目在列表框中的次序号ControlSource属性用户通过该属性指定一个字段或变量用来保存用户从列表框中选择的结果Selected属性指定列表框内某个列表项是否处于选定状态。逻辑型数组,第7章表单设计与应用,35,7.5基本型控件,列表框控件MultiSelect属性指定用户能否在列表框内进行多重选择,以及如何进行多重选择,【例7.11】在Form1表单中,添加1个列表框,名称为List1,高度为120,设置列表框的相关属性,使得当单击列表框中的学号后,在文本框中显示该学生的相关信息,如图所示。,第7章表单设计与应用,36,7.5基本型控件,操作步骤如下:新建表单,添加1个列表框,4个标签,4个文本框。属性设置。编写代码:“列表框”的Click事件代码:ThisForm.Refresh,第7章表单设计与应用,37,7.5基本型控件,组合框控件组合框(ComboBox)控件结合了列表框和文本框控件的特点列表框的属性大部分也适用于组合框Style属性:决定组合框样式0:下拉组合框。用户既可以从列表中选择内容,也可以在编辑区输入内容。2:下拉列表框。用户只能从列表中选择内容。,第7章表单设计与应用,38,7.5基本型控件,组合框控件【例7.12】新建表单one,添加1个组合框(Combo1),将其设置为下拉列表框,设置组合框的相关属性,使其显示的条目为“外语”、“物理”、“计算机”,向表单中添加两个命令按钮,其标题分别为“统计”、“退出”,为表单的“统计”按钮编写一条SQL命令,执行该命令时,将统计“学生表”所有专业与组合框中指定的内容相同的学生信息全部显示出来,单击“退出”按钮关闭并释放表单。属性设置如下:,“统计”按钮的Click事件代码:SELECT*FROM学生WHERE专业=ThisForm.Combo1.Value,第7章表单设计与应用,39,7.5基本型控件,组合框控件【例7.13】设计一个选课录入表单,表单运行时,在左侧的列表框中选择学生的学号,然后在右侧的下拉组合框中选择课程号,最后单击“增加选课记录”按钮,将所选内容插入到“选课”表中。部分控件属性设置如下:,“增加选课记录”按钮的Click事件代码:xh=ThisForm.List1.Valuekch=ThisForm.Combo1.ValueLOCATEFOR学号=xhAND课程号=kchIFNOTFOUND()INSERTINTO选课(学号,课程号)VALUES(xh,kch)ENDIF,第7章表单设计与应用,40,7.5基本型控件,编辑框控件用来输入、编辑字符型数据当编辑的内容大于255个字符时,只能用编辑框控件ScrollBars属性指定编辑框是否有滚动条0没有滚动条2有垂直滚动条(默认值)SelStart属性返回用户在编辑框的文本输入区所选定的文本的起始点位置有效取值范围在0与编辑区中的字符总数之间设计时不可用还适用于文本框、组合框等控件,第7章表单设计与应用,41,7.5基本型控件,编辑框控件SelLength属性返回用户在编辑框的文本输入区选定的字符的数目若没有文本被选定,则返回0设计时不可用SelText属性返回用户在编辑框的文本输入区选定的文本若没有选定任何文本,则返回0长度字符串若将SelText属性设置为一个新值,则该新值将替换编辑区中选定的文本,并且SelLength属性值变为0。设计时不可用,第7章表单设计与应用,42,7.5基本型控件,编辑框控件【例7.9】表单内包含1个文本框、1个编辑框、2个命令按钮,所有控件中显示的文字为20号字,当单击“查找”按钮时,在编辑框中查找字符串“VFP”,如图7.50所示。单击“替换”按钮时,将文本框中内容替换编辑框中查找的内容,如图7.51所示。,第7章表单设计与应用,43,7.5基本型控件,编辑框控件新建表单。添加1个编辑框,1个文本框,2个命令按钮属性设置编写代码,“查找”按钮的Click事件代码:n=at(VFP,Thisform.Edit1.Value)IFn0Thisform.Edit1.SelStart=n-1Thisform.Edit1.SelLength=LEN(VFP)ENDIF,“替换”按钮的Click事件代码:IFThisform.Edit1.SelText=VFPThisform.Edit1.SelText=Thisform.Text1.ValueENDIF,第7章表单设计与应用,44,7.5基本型控件,复选框控件复选框(CheckBox)用于标记逻辑真(.T.)和逻辑假(.F.)两值状态Caption属性用来设置复选框旁边显示的文字信息Value属性指定复选框的当前状态。该属性值有三种情况:为0或.F.:默认值,表示复选框未被中为1或.T.:表示复选框被选定为2或.NULL.:不确定(只在代码中有效)ControlSource属性指定与复选框建立联系的数据源,第7章表单设计与应用,45,7.5基本型控件,复选框控件【例7.10】新建一个如图7.52所示的表单名和文件名均为myform的表单,表单中有两个命令按钮,标题分别为“生成表”、“退出”,两个复选框,标题分别为“专业”、“入学成绩”。单击“生成表“按钮,程序功能是根据表单运行时复选框选定的字段内容生成新表,如果两个复选框都被选中,生成的自由表名为two.dbf,two.dbf表中包含“学生”表中的学号、姓名、专业、入学成绩;如果只选中“专业”复选框,生成的自由表名为one1.dbf,该表包含“学生”表中的学号、姓名、专业,如果只选中“入学成绩”复选框,生成的自由表名为one2.dbf,该表包含“学生”表中的学号、姓名、入学成绩。“退出”按钮关闭并释放表单。,第7章表单设计与应用,46,7.5基本型控件,复选框控件(1)新建表单,添加2个复选框,2个命令按钮(2)属性设置(3)编写代码,“生成表”按钮的Click事件代码:IFThisForm.Check1.Value=1AndThisForm.Check2.Value=1SELECT学号,姓名,专业,入学成绩FROM学生INTOTABLETWOENDIFIFThisForm.Check1.Value=1AndThisForm.Check2.Value=0SELECT学号,姓名,专业FROM学生INTOTABLEONE1ENDIFIFThisForm.Check1.Value=0AndThisForm.Check2.Value=1SELECT学号,姓名,入学成绩FROM学生INTOTABLEONE2ENDIF,“退出”按钮的Click事件代码:Thisform.Release,第7章表单设计与应用,47,7.5基本型控件,计时器控件计时器(Timer)控件可以每隔一定的时间间隔自动触发一次Timer事件Interval属性指定调用计时器Timer事件的时间间隔,以毫秒为单位Enabled属性指定计时器控件能否响应Timer事件计时器控件常用事件Timer事件:每隔Interval属性所设置的时间间隔自动触发一次该事件,第7章表单设计与应用,48,7.5基本型控件,计时器控件【例7.14】设计一个显示系统时间的表单。单击(Command1)“显示”按钮,标签(Label)显示当前系统时间,单击(Command2)“停止”按钮,时钟无效。标签和命令按钮控件要求黑体20号字。,操作步骤如下:(1)新建表单。添加控件,必须添加1个计时器控件。(2)属性设置:计时器控件Timer1的Interval属性设置为1000,Enabled属性设置为.F.(3)编写代码。“显示”按钮的Click事件代码:Thisform.Timer1.Enabled=.T.“停止”按钮的Click事件代码:Thisform.Timer1.Enabled=.F.计时器控件Timer事件代码:Thisform.Label1.Caption=TIME(),第7章表单设计与应用,49,7.5基本型控件,微调控件微调(Spinner)控件可以数值或整数数据进行调整Increment属性指定在单击微调控件向上或向下箭头键时增加或减少的值KeyBoardHighValue属性和KeyBoardLowValue属性设定在使用键盘输入时的最高和最小限制值SpinnerHighValue属性和SpinnerLowValue属性设定在使用上下按钮微调时的最高和最低限制值Value属性设定或返回微调控件的当前值,第7章表单设计与应用,50,7.5基本型控件,微调控件【7.15】利用微调按钮调整文本框中的背景色,如图所示,更改红、绿、蓝色微调按钮的数值后,单击“确定”按钮,文本框根据改变后的三原色值显示相应的颜色。,1.新建表单,添加3个标签、3个微调按钮、1个文本框、1个命令2.微调控件的属性设置如下:,3.“确定”按钮的Click事件代码:Text1.BackColor=;RGB(ThisForm.Spinner1.Value,ThisfFrm.Spinner2.Value,ThisForm.Spinner3.Value),第7章表单设计与应用,51,7.6容器型控件,容器型控件简称容器。在容器中可以添加其他控件,容器与其中所包含的控件一般都有自己的属性、事件和方法。选择容器中的控件有如下两种方法在属性窗口的对象下拉列表框中选择容器中的某个控件鼠标右键单击容器,在弹出的快捷菜单中选择“编辑”命令,然后通过鼠标单击选择容器中的某个控件。常见的容器型控件命令组、选项组、表格和页框等,第7章表单设计与应用,52,7.6容器型控件,命令按钮组控件ButtonCount属性指定命令按钮组中命令按钮的数目,默认值为2Value属性指定控件的当前状态,可以是数值型也可以是字符型如果是数值型n,表示命令组中第n个命令按钮被选中如果是字符型值“C”,表示命令组中Caption属性值为“C”的命令按钮被选中命令组生成器,第7章表单设计与应用,53,7.6容器型控件,命令组控件【例7.16】新建表单,添加一个包含三个命令按钮的按钮组,水平排列,间距为30象素,无边框,要求当单击任何一个按钮时,都弹出相应对话框。,按钮组控件的Click事件代码如下:DOCASECASEThis.Value=1MESSAGEBOX(单击了第一个按钮,注意!)CASEThis.Value=2MESSAGEBOX(单击了第二个按钮,注意!)CASEThis.Value=3MESSAGEBOX(单击了第三个按钮,注意!)ENDCASE,MESSAGEBOX(,按钮类型,标题),第7章表单设计与应用,54,7.6容器型控件,选项组控件ButtonCount属性指定选项组中选项按钮的数目,默认值是2ControlSource属性指定选项组要绑定的数据源,其值可以是字符型或数值型若为数值型2,表示选中了选项组中的第2个按钮,若为字符型“Option2”,则Caption属性值为“Option2”的按钮被选中Value属性初始化或返回选项组中被选中的选项按钮可以字符型,也可以是数值型选项组生成器,第7章表单设计与应用,55,7.6容器型控件,选项组控件【例7.17】设计一个选课查询表单,运行表单时,选择选项组中的某个选项,在相应的文本框中输入要查询的内容,然后单击“查询”按钮,显示相应的查询结果,单击“关闭”按钮,关闭并释放表单。,“查询”按钮的Click事件代码:xh=Alltrim(ThisForm.Text1.Value)kch=Alltrim(ThisForm.Text2.Value)IFThisForm.OptionGroup1.Value=1SELECT*FROM选课WHERE学号=xhELSESELECT*FROM选课WHERE课程号=kchENDIF,第7章表单设计与应用,56,7.6容器型控件,数据环境每个表单或表单集都包含一个数据环境,它可以方便用户对数据进行显示和控制操作。打开数据环境设计器向数据环境中添加表或视图,第7章表单设计与应用,57,7.6容器型控件
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 人教版二年级音乐课堂实施计划
- 2024-2025年秋学校学术研究支持计划
- JL2025人力资源管理评审计划
- 教科版小学科学五年级上册教学创新计划
- 体育教师个人体能发展计划
- 建筑工程项目成本管理部岗位职责
- 80大寿寿宴主持词及流程及宴会安排
- 车辆远程诊断设备配置方案计划
- 陕西省延安市2025届物理九年级第一学期期末达标测试试题含解析
- 四川省乐山市井研县2024年九上物理期末质量检测模拟试题含解析
- 货运司机劳动合同范文5篇
- 助理人力资源管理师考试真题及答案
- 《机电安装工程质量检验评定表》
- 贵州省公民文明手册
- 兰吉尔电表DLMS集成手册
- YS/T 320-2014锌精矿
- GB/T 9123-2010钢制管法兰盖
- 青蓝工程师徒结对师傅总结9篇
- 09S304 卫生设备安装图集
- 解三角形专题 - (解析版)
- 农业行政处罚中违法所得实务分析课件
评论
0/150
提交评论