第8章表单控件

上传人:dao****ing 文档编号:116210834 上传时间:2022-07-05 格式:PPT 页数:107 大小:1.51MB
收藏 版权申诉 举报 下载
第8章表单控件_第1页
第1页 / 共107页
第8章表单控件_第2页
第2页 / 共107页
第8章表单控件_第3页
第3页 / 共107页
资源描述:

《第8章表单控件》由会员分享,可在线阅读,更多相关《第8章表单控件(107页珍藏版)》请在装配图网上搜索。

1、Visual foxpro 漳州师范学院计算中心Visual FoxPro 6.0 程序设计与应用教程程序设计与应用教程漳州师范学院漳州师范学院计算中心计算中心2003.92003.9Visual foxpro 漳州师范学院计算中心第八章Visual foxpro 漳州师范学院计算中心3 表单控件的常用属性表单控件的常用属性、方法、方法、事件和事件和主要功能主要功能本章学习要点本章学习要点Visual foxpro 漳州师范学院计算中心4 简简 介介VFP有有21个基类控件,可分为个基类控件,可分为5大类:大类:1.输出类输出类:标签、图像、线条、形状:标签、图像、线条、形状2.输入类输入类:

2、文本框、编辑框、微调控件、列表框、:文本框、编辑框、微调控件、列表框、组合框组合框3.控制类控制类:命令按钮、命令按钮组、复选框、:命令按钮、命令按钮组、复选框、选项按钮组、计时器选项按钮组、计时器4.多重容器类多重容器类:表格、页框、:表格、页框、Container容器容器5.连接类连接类:ActiveX控件、控件、ActiveX绑定控件、超级链接绑定控件、超级链接控件控件 以上分类仅是按控件的主要功能,其实每个控件都有很多特性,例如:一般的控件都可起到控制的作用,因为都含有Click事件。Visual foxpro 漳州师范学院计算中心5 常用控件的公共属性常用控件的公共属性name:控件

3、的名称,它是代码中访问控件的标识(表:控件的名称,它是代码中访问控件的标识(表单或表单集除外)。单或表单集除外)。Fontname:字体名。:字体名。Fontbold:字体样式为粗体。:字体样式为粗体。Fontsize:字体大小。:字体大小。Fontitalic:字体样式为斜体。:字体样式为斜体。Forecolor:前景色。:前景色。Height:控件的高度:控件的高度Width:控件的宽度。控件的高度和控件的宽度,也:控件的宽度。控件的高度和控件的宽度,也可在设计时通过鼠标拖曳进行可视化调整。可在设计时通过鼠标拖曳进行可视化调整。Visible:控件是否显示。:控件是否显示。Enable:控

4、件运行时是否有效。如果为:控件运行时是否有效。如果为.T.,则表示控,则表示控件有效,否则运行时控件不可使用。件有效,否则运行时控件不可使用。Visual foxpro 漳州师范学院计算中心6 8.1输出类控件输出类控件8.1.18.1.1 标签标签(label)(label)在表单中,标签对象常被用来显示一些说明信息、在表单中,标签对象常被用来显示一些说明信息、对象标题等信息对象标题等信息1.1.标签的创建标签的创建 (1)(1)利用表单控件工具栏利用表单控件工具栏 (2)(2)从数据环境的表中拖一字段至表单上从数据环境的表中拖一字段至表单上表单上创建的第表单上创建的第1 1个标签名:个标签

5、名:Label1Label1n属性选介属性选介CaptionCaption:用于指定标签对象的标题,是字符型数据用于指定标签对象的标题,是字符型数据AutosizeAutosize:为为.T.T.时,标签对象将根据其内容自动地时,标签对象将根据其内容自动地改变大小,缺省为改变大小,缺省为.F.F.Visual foxpro 漳州师范学院计算中心7 WordWrapWordWrap:为为.T.T.时,标签的内容可实现自动换行时,标签的内容可实现自动换行(Auto size(Auto size应为应为.T.)T.)BackStyleBackStyle:为为0 0时,使标签对象透明,缺省为时,使标签

6、对象透明,缺省为1 1,不,不透明透明BorderStyleBorderStyle:指定标签对象的边框风格,为指定标签对象的边框风格,为0 0无边框,无边框,为为1 1时,单线框时,单线框n两种设置属性的方法两种设置属性的方法:1.1.在属性窗口中设置在属性窗口中设置2.2.用事件代码设定用事件代码设定n说明说明:字符型属性在属性窗口中设置时,不用界限:字符型属性在属性窗口中设置时,不用界限符号,而用代码时则要。符号,而用代码时则要。如:如:THISFORM.THISFORM.label1label1.Caption=“.Caption=“学生学号学生学号”Visual foxpro 漳州师范

7、学院计算中心8 8.1.2 图像、线条、形状图像、线条、形状1.图像图像 图像控件可支持的图像文件类图像控件可支持的图像文件类型有:型有:BMP、JPG、ICO、GIF等等表单及表单中对象的图像创建方法:表单及表单中对象的图像创建方法:利用表单控件工具栏利用表单控件工具栏表单中创建的第表单中创建的第1个图像名:个图像名:Image1设置值设置值描述描述0剪裁剪裁(默认默认)图像按剪贴方式来适应控件图像按剪贴方式来适应控件1等比填充等比填充 调整图像大小来适应控件,保持原比例调整图像大小来适应控件,保持原比例2变比填充调整图像大小来适应控件,不保持原比例变比填充调整图像大小来适应控件,不保持原比

8、例属性选介属性选介Picture:在属性窗口中为表单或对象指定一个图像文件在属性窗口中为表单或对象指定一个图像文件Stretch:图像如何调整大小适应图像如何调整大小适应Image控件控件Visual foxpro 漳州师范学院计算中心9 2.线条线条(Line)画水平线画水平线(height=0)、垂直线、垂直线(width=0)、斜线。、斜线。在表单中创建的第在表单中创建的第1 个线条对象名:个线条对象名:Line1属性选介属性选介 LineSlant:斜线方向属性斜线方向属性(或或 /)3.形状形状(Shape)画圆、椭圆、正方形、矩形、圆角矩形、圆角正方形画圆、椭圆、正方形、矩形、圆角

9、矩形、圆角正方形在表单中创建的第在表单中创建的第1个形状对象名:个形状对象名:Shape1 Curvature:确定圆角大小。确定圆角大小。CurvatureWidth=heightWidthheight0正方形正方形长方形长方形1 99小圆角正方形小圆角正方形大圆角大圆角正方形正方形圆圆小圆角矩形小圆角矩形大圆大圆角矩形椭角矩形椭圆圆Visual foxpro 漳州师范学院计算中心10 例例8.1 设计如图所示的应用程序封面设计如图所示的应用程序封面 表单文件表单文件P8-1.scxVisual foxpro 漳州师范学院计算中心11 说明说明:表单设置在桌面上,无标题栏,封面文字放:表单设

10、置在桌面上,无标题栏,封面文字放在水平中间,垂直在水平中间,垂直1/3处。必须将标签的文字定位代处。必须将标签的文字定位代码编写在表单的码编写在表单的Activate事件中,若编写在表单的事件中,若编写在表单的init事件中,因此时表单尚未最大化,而表单大小与事件中,因此时表单尚未最大化,而表单大小与位置要依表单大小确定的。位置要依表单大小确定的。完成后再添加一个形状完成后再添加一个形状 属性参照属性参照P196表表8-3设置设置Visual foxpro 漳州师范学院计算中心12 8.2 输入类控件输入类控件 输入类控件有:文本框、编辑框、列表框、和组合输入类控件有:文本框、编辑框、列表框、

11、和组合框。其中列表框和下拉列表框只能让用户选择数据,框。其中列表框和下拉列表框只能让用户选择数据,其余控件都可接受用户从键盘输入数据。其余控件都可接受用户从键盘输入数据。8.2.1 文本框文本框(TextBox)文本框可供用户输入、编辑数据。文本框可供用户输入、编辑数据。文本框可接受的数据类型有:文本框可接受的数据类型有:C、N、D、L型。型。创建文本框对象的方法有两种:创建文本框对象的方法有两种:(1)利用表单工具栏的文本框按钮利用表单工具栏的文本框按钮(2)从数据环境中拖一字段至表单中从数据环境中拖一字段至表单中Visual foxpro 漳州师范学院计算中心13 1.属性选介属性选介Va

12、lue:指定文本框中对象的值,属性值可以是:指定文本框中对象的值,属性值可以是C、N、D或或L型。型。说明:文本框中只能输入一段的数据说明:文本框中只能输入一段的数据(只接受一次回车只接受一次回车)ControlSource:文本框的控制数据源。:文本框的控制数据源。Format:指定:指定Value值的约束格式。值的约束格式。Format属性是为属性是为整个文本框整个文本框规定一个格式。规定一个格式。P197表表设置值设置值描描 述述A只允许字母字符只允许字母字符K当光标移到文本框上时当光标移到文本框上时,框中数据就被选定框中数据就被选定L在文本框中显示数据的前导在文本框中显示数据的前导0(

13、取代空格取代空格)。只有数值可用。只有数值可用T截去输入字段中的前导空格和尾随空格截去输入字段中的前导空格和尾随空格!转换小写字母到大写字母,仅用在字符型数据转换小写字母到大写字母,仅用在字符型数据Visual foxpro 漳州师范学院计算中心14 InputMask(输入掩码):约束文本框中指定位置(输入掩码):约束文本框中指定位置字符的格式。字符的格式。该属性规定文本框中该属性规定文本框中指定位置字符指定位置字符的格式。的格式。显示当前的货币符号显示当前的货币符号$指定小数点的位置指定小数点的位置.允许输入数字、空格和正负号允许输入数字、空格和正负号#只允许输入数字与正负号只允许输入数字

14、与正负号9只允许输入字母只允许输入字母A可键入任何字符可键入任何字符X描述描述设置值设置值,分隔小数点左边的数字串分隔小数点左边的数字串Visual foxpro 漳州师范学院计算中心15 例:设置文本框的例:设置文本框的Value:字符型数据:字符型数据(无无)、InputMask:AAA表示文本框中只接受字母字符、且最多为表示文本框中只接受字母字符、且最多为3位位 例:设置文本框的例:设置文本框的Value:字符型数据:字符型数据(无无)、InputMask:9999-9999999表示文本框中只接受数字字符型数据表示文本框中只接受数字字符型数据Visual foxpro 漳州师范学院计算

15、中心16 ReadOnly:指定文本框是否允许编辑指定文本框是否允许编辑 .F.允许允许(默认默认).T.只读只读Alignment:指定文本框中数据对齐方式指定文本框中数据对齐方式,0-左对齐左对齐,1-右对齐右对齐,2-居中居中,3-自动自动(默认默认),此时对齐方式与此时对齐方式与Value的数据类型有的数据类型有关关,N型右对齐型右对齐,其余左对齐其余左对齐。PasswordChar:指定文本框所键入字符的显示符号,指定文本框所键入字符的显示符号,该属性不影响该属性不影响Value的值。的值。Visual foxpro 漳州师范学院计算中心17 2.方法选介方法选介SetFocus:为

16、文本框对象设置当前焦点:为文本框对象设置当前焦点 设置为焦点后操作所作的输入都是针对它的设置为焦点后操作所作的输入都是针对它的 如:如:Thisorm.text1.setfocus 3.事件选介事件选介(1)When:文本框获得焦点前发生:文本框获得焦点前发生(2)GotFocus:文本框获得焦点时发生:文本框获得焦点时发生(3)Valid:文本框失去焦点前发生:文本框失去焦点前发生 (4)LostFocus:文本框失去焦点时发生:文本框失去焦点时发生(5)KeyPress:当在文本框中按动键时发生:当在文本框中按动键时发生 (6)InteractivateChange:当用户用键盘当用户用键

17、盘 或鼠标改变或鼠标改变文本框对象的值时发生。文本框对象的值时发生。Visual foxpro 漳州师范学院计算中心18 4.文本框生成器文本框生成器生成器可用来设置生成器可用来设置常用属性常用属性。但不能设置所有属性。但不能设置所有属性。(且不是所有控件都有生成器。且不是所有控件都有生成器。)例:文本框中的例:文本框中的Value、ControlSource、InputMask、Enabled.可用生成器来设置。可用生成器来设置。文本生成器的打开文本生成器的打开 右键单击控件选择右键单击控件选择Visual foxpro 漳州师范学院计算中心19 文本生成器包括:格式、样式、值三个选项卡文本

18、生成器包括:格式、样式、值三个选项卡1.格式选项卡格式选项卡(1)数据类型数据类型:表示文本框的数据类型:表示文本框的数据类型(2)仅字母表中的字符仅字母表中的字符:表示文本框中只允许字母字:表示文本框中只允许字母字符,符,(相当于相当于Format中的格式码中的格式码“A”)(3)显示前导零显示前导零:显:显示数字中小数点左示数字中小数点左的前导的前导0。(相当相当Format中的格式码中的格式码“L”)Visual foxpro 漳州师范学院计算中心20(4)进入时选定进入时选定:表示当非空的文本框获得焦点时,框:表示当非空的文本框获得焦点时,框中数据就被选定中数据就被选定(相当相当For

19、mat中的格式码中的格式码“K”)(5)隐藏显示内容隐藏显示内容:表示当文本失去焦点时,框中所选:表示当文本失去焦点时,框中所选定数据的选定状态就被取消,否则,所选定仍将保定数据的选定状态就被取消,否则,所选定仍将保持选定状态持选定状态(相应于相应于Hide Selection属性属性)(6)在运行时启用在运行时启用:表示:表示文本框是否可用;文本框是否可用;(选中选中相当于相当于Enable=.T.)(7)使其只读使其只读:表示是否:表示是否禁止文本框中的数据禁止文本框中的数据(选选中对应中对应ReadOnly的的.T.)(8)输入掩码输入掩码:对应:对应InputMask属性。属性。Vis

20、ual foxpro 漳州师范学院计算中心21 2.样式选项卡样式选项卡(1)特殊效果特殊效果:“三维三维”和和“平面平面”(对应对应 SpecialEffect 属性属性 3D、Plain)(2)边框边框:“单线单线”和和“无无”(对应对应BorderStyle属性的属性的单线框和无边框单线框和无边框(3)字符对齐方式字符对齐方式:对应:对应Alignment属性属性(4)调整文本框尺寸调整文本框尺寸:调:调整文本框的大小,使其整文本框的大小,使其恰好容纳数据恰好容纳数据(应与应与InputMast配合配合)Visual foxpro 漳州师范学院计算中心22 3.值选项卡值选项卡 对应对应

21、ControlSource属性,可利用该字段名组合框属性,可利用该字段名组合框的列表指定表或视图中的某一项。的列表指定表或视图中的某一项。Visual foxpro 漳州师范学院计算中心23 例例8.2 某铁路上共有某铁路上共有n(1)个个车站,需要准备多少种车票?车站,需要准备多少种车票?设任两个车站都有往返车票。设任两个车站都有往返车票。表单文件表单文件P8-2.scxCommand1Command1的的ClickClick事件代码事件代码IF THISFORM.TEXT1.VALUE=1 RETURNENDIFS=0FOR M=1 TO THISFORM.TEXT1.VALUE FOR

22、N=2 TO THISFORM.TEXT1.VALUE S=S+1 ENDFORENDFORTHISFORM.TEXT2.VALUE=STHIS.ENABLED=.F.THISFORM.COMMAND2.ENABLED=.T.Command2Command2的的ClickClick事件代码事件代码THISFORM.TEXT1.VALUE=0THISFORM.TEXT2.VALUE=0THIS.ENABLED=.F.THISFORM.COMMAND1.ENABLED=.T.Visual foxpro 漳州师范学院计算中心24 例例8.3 设计如图表单,任设计如图表单,任意设置圆形的大小和颜意设置

23、圆形的大小和颜色。色。表单文件表单文件P8-3.scx命令按钮确定命令按钮确定ClickClick事件代码事件代码thisform.shape1.height=val(thisform.text1.value)thisform.shape1.width=thisform.shape1.heightif val(thisform.text2.value)255 returnendifif val(thisform.text3.value)255 returnendifif val(thisform.text4.value)255 returnendifthisform.shape1.backco

24、lor=rgb(val(thisform.text2.value),val(thisform.text3.value),val(thisform.text4.value)returnVisual foxpro 漳州师范学院计算中心25 8.2.2 编辑框编辑框 利用编辑框控件可实现文本数据的输入与编辑,其利用编辑框控件可实现文本数据的输入与编辑,其中的文本可以是一段或多段。中的文本可以是一段或多段。(编辑框常用于绑定备注型字段编辑框常用于绑定备注型字段)1.属性选介属性选介Value:用于指定编辑框的值,并在框中显示。只能:用于指定编辑框的值,并在框中显示。只能C型。可输入多段数据。型。可输入

25、多段数据。ScrollBar:为:为2时,当编辑框包含的数据超出编辑框时,当编辑框包含的数据超出编辑框时,出现垂直滚动条,为时,出现垂直滚动条,为0时无滚动条时无滚动条ControlSource:设置编辑框对象的数据源。一般为:设置编辑框对象的数据源。一般为备注型字段备注型字段Visual foxpro 漳州师范学院计算中心26 SelText:返回用户在编辑框中所选定的文本内容,该:返回用户在编辑框中所选定的文本内容,该属性不在属性窗口中设置,在代码中设置属性不在属性窗口中设置,在代码中设置.例:例:Thisform.edit1.value=Thisform.edit2.seltextThi

26、sform.edit1.seltext=Thisform.edit2.seltext将将edit2中选中的内容复制到中选中的内容复制到edit1中。中。Selstart:指定用户在文本框或编辑框中选定内容的起:指定用户在文本框或编辑框中选定内容的起始位置,第一个字符位置为始位置,第一个字符位置为0Sellength:指定:指定 返回用户在文本框或编辑框中选定内返回用户在文本框或编辑框中选定内容的长度容的长度例:选中表单编辑例:选中表单编辑edit1从第从第4个字符开始的个字符开始的6个字符个字符 THISFORM.Edit1.Setfocus 须先获得焦点须先获得焦点 THISFORM.Edi

27、t1.Selstart=3 THISFORM.Edit1.Sellength=6Visual foxpro 漳州师范学院计算中心27 例例8.4 设计表单,实现在一个编辑框中查找另一个编设计表单,实现在一个编辑框中查找另一个编辑框选定项内容。辑框选定项内容。表单文件表单文件P8-4.scxCommand1的的Click事件代码事件代码if!empty(thisform.edit1.seltext)findstring=alltrim(thisform.edit1.seltext)loc=at(findstring,thisform.edit2.value)if loc=0 thisform.l

28、abel3.caption=未找到字符串未找到字符串 else thisform.label3.caption=找到字符串找到字符串 thisform.edit2.setfocus thisform.edit2.selstart=loc-1 thisform.edit2.sellength=len(findstring)endifelse thisform.label3.caption=请在左边编辑框中选定要查找的字符串请在左边编辑框中选定要查找的字符串endifVisual foxpro 漳州师范学院计算中心28 例例8.5 设计如图表单,利用剪贴板实现文本框选定内设计如图表单,利用剪贴板实

29、现文本框选定内 容复制到编辑框中,要求如下:容复制到编辑框中,要求如下:在文本框中选定内容后在文本框中选定内容后 ,“复制复制”命令按钮被激活命令按钮被激活 若若“复制复制”命令按钮按下,实现文本框选定内容粘贴命令按钮按下,实现文本框选定内容粘贴到编辑框位置。到编辑框位置。表单文件表单文件P8-5.scxVisual foxpro 漳州师范学院计算中心29 Command1(Command1(复制复制)的的ClickClick事件代码事件代码_CLIPTEXT=THISFORM.Text1.SelTextTHIS.Enabled=.F.THISFORM.Command2.Enabled=.T.

30、Command2(Command2(粘贴粘贴)的的ClickClick事件代码事件代码THISFORM.Edit1.SelText=_CLIPTEXTTHISFORM.Edit1.SetFocusText1(Text1(文本框文本框)的的MouseUpMouseUp事件代码事件代码LPARAMETERS nButton,nShift,nXCoord,nYCoord*判断判断Text1中是否有选定内容,有则中是否有选定内容,有则Command1IF LEN(THIS.SelText)0 THISFORM.Command1.Enabled=.T.ENDIFForm1Form1的的InitInit事

31、件代码事件代码THISFORM.Text1.SetFocus_CLIPTEXT=&清空剪贴板,清空剪贴板,_CLIPTEXT是一系统是一系统内存变量,用于提供剪贴板内容。内存变量,用于提供剪贴板内容。将将选选定定内内容容复复制制到到剪剪贴贴板板Visual foxpro 漳州师范学院计算中心30 8.2.3 列表框与组合框列表框与组合框 列表框与组合框都有一个可选择单项或多项选项的列表框与组合框都有一个可选择单项或多项选项的列表,列表框全部显示,组合框只显示一项,只在单列表,列表框全部显示,组合框只显示一项,只在单击右端向下按钮才显示列表,组合框分为下拉组合框击右端向下按钮才显示列表,组合框分

32、为下拉组合框(可输入可输入)和下拉列表框和下拉列表框1.属性选介属性选介ColumnCount:指定列表框或组合框的列数指定列表框或组合框的列数Style:组合框属性,如下表:组合框属性,如下表:属性值组合框类型功能0下拉组合框 即可在列表框中选项,也可在组合框中输入一个值2下拉列表框 仅可在列表框中选项Visual foxpro 漳州师范学院计算中心31 值值源类型源类型说说 明明0无无缺省值,运行时用缺省值,运行时用Additem或或Addlistitem方法添方法添加列表项加列表项1值值Rowsource应设置逗号分隔的数据项来填充列应设置逗号分隔的数据项来填充列2别名别名Rowsour

33、ce应设置表名,表由数据环境提供,用应设置表名,表由数据环境提供,用ColumnCount确定字段数确定字段数3SQL语句语句Rowsource应设置应设置SQL SELECT命令以选出记录,命令以选出记录,SQL SELECT应包括应包括INTO子项,以创建一个临子项,以创建一个临时表或表时表或表4查询查询(.qpr)Rowsource应设置一个应设置一个.QPR文件名文件名RowSourceType:指定列表框或组合框数据类型。共:指定列表框或组合框数据类型。共有有9类,如下表:类,如下表:Visual foxpro 漳州师范学院计算中心32 值值源类型源类型说说 明明5数组数组Rowso

34、urce应设置数组名应设置数组名6字段字段Rowsource应设置逗号分隔的字段列表,应设置逗号分隔的字段列表,字段首有表名前缀,表来自数据环境字段首有表名前缀,表来自数据环境7文件文件Rowsource应设置路径,可用通配符或掩应设置路径,可用通配符或掩码,结果以目录与文件名填充码,结果以目录与文件名填充8结构结构Rowsource应设置表名,结果以该表字段应设置表名,结果以该表字段名来填充列名来填充列9弹出式菜单弹出式菜单为与以前版本兼容而设置为与以前版本兼容而设置Visual foxpro 漳州师范学院计算中心33 RowSource:指定列表框数据源。必须与:指定列表框数据源。必须与R

35、owSourceType 匹配匹配Listcount:返回组合框或列表框中:返回组合框或列表框中列表项的个数列表项的个数(行行数数)例例:Thisform.Combo1.Listcount 可返回组合框中行数可返回组合框中行数Value:返回组合框或列表框中选定行的内容。对于多:返回组合框或列表框中选定行的内容。对于多列式列表框,选定项中的哪一列作为列式列表框,选定项中的哪一列作为Value属性值,属性值,决定于决定于BoundColumn属性。属性。Tbo1.boundcolumn=5Thisform.print(Tbo1.Value)Visual foxpro 漳州师范学院计算中心34 D

36、isplayValue:返回组合返回组合框中显示的文本内容框中显示的文本内容如如:thisform.print(bo1.displayvalue)MultiSelected:指定用户是否在指定用户是否在列表框列表框中进行多重选中进行多重选择。择。(.T.允许、允许、.F.不允许,用不允许,用Ctrl、Shift配合配合)BoundColumn:指定哪一列作为指定哪一列作为Value属性的值属性的值,缺省,缺省第第1列。列。Columncount:显示的列数显示的列数ControlSource:指定指定Value值值存储的绑定字段存储的绑定字段。ListIndex:返回组合框或列表框中选定项的顺

37、返回组合框或列表框中选定项的顺序号序号例:例:thisform.print(bo1.listindex)thisform.list1.listindex=2Visual foxpro 漳州师范学院计算中心35 List:返回组合框或列表框行号,列号的内容返回组合框或列表框行号,列号的内容格式:格式:Object.List(行号行号,列号列号)例:例:thisform.print(bo1.list(3,2)Selected:当某一项被选中时,当某一项被选中时,Selected属性返回属性返回.T.,否则为否则为.F.格式:格式:Object.Selected(N)=Lexpr 例:例:Tbo1.

38、selected(3)=.t.FirstElement:当数据类型为当数据类型为数组数组时指定数组中第一时指定数组中第一个显示在列表框或组合框中的元素个显示在列表框或组合框中的元素 例:例:Tbo1.firstelement=2NumberofElements:当数据类型为当数据类型为数组数组,指定一个数,指定一个数组中有多少项用来填充组合框或列表框组中有多少项用来填充组合框或列表框 例:例:bo1.NumberofElements=3Visual foxpro 漳州师范学院计算中心36 2.方法选介方法选介(1)AddItem:当组合框或列表框的:当组合框或列表框的RowSourceType

39、属性为属性为0时,使用本方法程序时,使用本方法程序可在列可在列表中添加一个新项表中添加一个新项格式:格式:Object.Additem(cItem,行号行号)(2)RemoveItem:当组合框或列表框的:当组合框或列表框的Row Source Type属性为属性为0时,使用本方法程序时,使用本方法程序可在列表中删除一可在列表中删除一项项。格式:格式:Object.RemoveItem(n)说明:说明:n为数值表达式,取值范围为数值表达式,取值范围1Listcount(3)Clear:清除列表框中的所有项:清除列表框中的所有项Visual foxpro 漳州师范学院计算中心37 3.事件选介事

40、件选介(1)InteractiveChange:当列表框或组合框值发生改当列表框或组合框值发生改变时触发变时触发(2)Click:当用户单击列表框或组合框时触发当用户单击列表框或组合框时触发【例例8.6】列表框的应用:按下图设计一个表单。要】列表框的应用:按下图设计一个表单。要求表单运行时,求表单运行时,LIST1列表框显示列表框显示STUD表的所有字表的所有字段,单击左箭头按钮时,段,单击左箭头按钮时,LIST1中选择的字段加入到中选择的字段加入到LIST2中。中。表单文件表单文件P8-6.scxVisual foxpro 漳州师范学院计算中心38 操作步骤:操作步骤:按图所示在表单中加入二

41、个列表框、二个标签、二按图所示在表单中加入二个列表框、二个标签、二个命令按钮。个命令按钮。在表单的在表单的INIT事件中加入如下代码:事件中加入如下代码:thisform.list1.value=0 thisform.list2.value=0open database xsgluse studentfor i=1 to fcount()thisform.list1.additem(fields(i)nextclose databaseVisual foxpro 漳州师范学院计算中心39 在右向箭头按钮在右向箭头按钮(添加添加)COMMAND1的的CLICK事事件中加入如下代码:件中加入如下代

42、码:if thisform.list1.value=0 returnendiffor i=1 to thisform.list2.listcount if thisform.list1.listitemthisform.list1.value=thisform.list2.list(i)messagebox(已有该字段了已有该字段了)return endifendforthisform.list2.addlistitem(thisform.list1.listitemthisform.list1.value)Visual foxpro 漳州师范学院计算中心40 在左向箭头按钮在左向箭头按钮(删

43、除删除)COMMAND2的的CLICK事件事件中加入如下代码:中加入如下代码:if thisform.list2.value=0 or thisform.list2.listindex=0 return endifthisform.list2.removeitemthisform.list2.value在双左向箭头按钮在双左向箭头按钮(=60=60 INTO INTO ARRAY XARRAY XTHISFORM.TEXT1.VALUE=X(1)THISFORM.TEXT1.VALUE=X(1)THISFORM.LIST1.REFRESHTHISFORM.LIST1.REFRESHTHISFO

44、RM.TEXT1.REFRESHTHISFORM.TEXT1.REFRESHVisual foxpro 漳州师范学院计算中心47 8.2.4 微调控件微调控件(Sprinner)用于接受给定范围之内的数值输入,既可以键盘输用于接受给定范围之内的数值输入,既可以键盘输入也可以单击控件的上下箭头按钮增减当前值。入也可以单击控件的上下箭头按钮增减当前值。1.1.属性选介属性选介 ValueValue:表示微调控件的当前值:表示微调控件的当前值 KeyBoardHighValueKeyBoardHighValue:设定键盘输入数值上限:设定键盘输入数值上限 KeyBoardLowValueKeyBoa

45、rdLowValue:设定键盘输入数值下限:设定键盘输入数值下限 SpinnerHighValueSpinnerHighValue:设定微调数值上限:设定微调数值上限 SpinnerLowValueSpinnerLowValue:设定微调数值下限:设定微调数值下限Visual foxpro 漳州师范学院计算中心48 increment increment:微调增量值:微调增量值 InputMaskInputMask:设置输入掩码:设置输入掩码 ControlSource:设置微调控件的数据源,只能是:设置微调控件的数据源,只能是数数值型值型的变量或字段。的变量或字段。2.事件事件(1)Down

46、Click:按微调控件的向下按钮时触发:按微调控件的向下按钮时触发(2)UpClick:按微调控件的向上按钮时触发:按微调控件的向上按钮时触发Visual foxpro 漳州师范学院计算中心49 8.3 控件类控件控件类控件8.3.1 命令按钮命令按钮1.常用属性选介常用属性选介(1)Caption:设置命令按钮标题;可为命令按钮设置:设置命令按钮标题;可为命令按钮设置热键,方法:在某字母前加热键,方法:在某字母前加“”,用,用 Alt 激活。激活。如:如:(2)Enabled:确定命令按钮是否响应:确定命令按钮是否响应(不能响应时,不能响应时,按钮呈浅色按钮呈浅色)(3)Visible:确定

47、命令按钮是不可见。当不可:确定命令按钮是不可见。当不可见时,还可用代码访问。见时,还可用代码访问。如如:mand1.visible=.t.Visual foxpro 漳州师范学院计算中心50(4)Default:若表单上有不止一个命令按钮,可将其中:若表单上有不止一个命令按钮,可将其中一个按钮设为缺省按钮,当所有的按钮均为非焦点一个按钮设为缺省按钮,当所有的按钮均为非焦点时,按动时,按动Enter,则执行该按钮的,则执行该按钮的Click事件。事件。(5)Cancel:若该命令按钮的:若该命令按钮的Cancel属性为属性为.T.,用户按,用户按Esc键将执行该命令按钮的键将执行该命令按钮的Cl

48、ick事件。事件。(6)Picture:设置命令按钮上显示图形。若要在命令按:设置命令按钮上显示图形。若要在命令按钮上同时显示图文,可设置钮上同时显示图文,可设置picture与与Caption属性属性(7)ToolTipText:设置提示文本。:设置提示文本。(须须表单的表单的ShowTips属性为属性为.T.)2.常用事件选介常用事件选介(1)Click:命令按钮的单击鼠标左键事件:命令按钮的单击鼠标左键事件(2)RightClick:命令按钮的单击鼠标右键事件:命令按钮的单击鼠标右键事件 Visual foxpro 漳州师范学院计算中心51 8.3.2 命令按钮组命令按钮组命令按钮组是一

49、组包含若干命令按钮的容器。其中的命令按钮组是一组包含若干命令按钮的容器。其中的各个按钮均有各自的属性、方法、事件。各个按钮均有各自的属性、方法、事件。第第1个被创建的命令按钮组对象名:个被创建的命令按钮组对象名:CommandGroup11.属性选介属性选介(1)ButtonCount:设置组容器所包含的:设置组容器所包含的 命令按钮的个数命令按钮的个数(2)Value:若为数值时,单击组控件内某个按钮,:若为数值时,单击组控件内某个按钮,Value将返回此命令按钮的顺序号;将返回此命令按钮的顺序号;若为字符,单击组控件内某个命令按钮,若为字符,单击组控件内某个命令按钮,Value将返将返回此

50、命令按钮的回此命令按钮的Caption属性值。属性值。Visual foxpro 漳州师范学院计算中心52 2.命令按钮组生成器命令按钮组生成器(1)按钮选项卡按钮选项卡ButtonCount:指定所包含命令按钮个数:指定所包含命令按钮个数表格:包括各命令按钮的表格:包括各命令按钮的Caption和和Picture(2)布局选项卡布局选项卡布局按钮、按钮间隔、边框样式布局按钮、按钮间隔、边框样式Visual foxpro 漳州师范学院计算中心53 3.命令按钮组与命令按钮命令按钮组与命令按钮按钮组容器按钮组容器及其所包含的及其所包含的命令按钮命令按钮有各自独立的属有各自独立的属性、方法、事件性

51、、方法、事件(1)容器组及命令按钮的编辑容器组及命令按钮的编辑命令按钮组命令按钮组的编辑(属性、方法、事件)的编辑(属性、方法、事件)单击单击组容器中的组容器中的命令按钮命令按钮的编辑(属性、方法、事件)的编辑(属性、方法、事件)属性窗口中选择属性窗口中选择 或或 单击单击 编辑编辑 选定命令按钮选定命令按钮 (2)为组容器中的某些命令按钮设置共同属性,如为组容器中的某些命令按钮设置共同属性,如caption属性值。属性值。单击单击 编辑编辑 Shift+选定命令按钮选定命令按钮Visual foxpro 漳州师范学院计算中心54(3)Click事件的区别事件的区别若命令按钮组及其所包含的各命

52、令按钮分别设置了若命令按钮组及其所包含的各命令按钮分别设置了Click事件代码,则用户单击组内空白处,事件代码,则用户单击组内空白处,组控件组控件的的Click事件被触发;而若单击组内某命令按钮,则该事件被触发;而若单击组内某命令按钮,则该命令按钮命令按钮的的Click事件被触发。事件被触发。若仅命令按钮组设置了若仅命令按钮组设置了Click事件,则用户不论单击组事件,则用户不论单击组控件的何处,都触发组控件的控件的何处,都触发组控件的Click事件事件Visual foxpro 漳州师范学院计算中心55 例例8.8在学生成绩数据库中增加在学生成绩数据库中增加USER.DBF表,存表,存放账号

53、与密码,表结构:放账号与密码,表结构:USER:账号账号 C(6)、密码、密码 C(6),要求设计如图表单实现按账号核对密码。密,要求设计如图表单实现按账号核对密码。密码由数字字符构成。码由数字字符构成。表单文件表单文件P8-8.scxCombo1Combo1的的ValidValid事件代码事件代码if this.listindexif this.listindex=0=0 messagebox messagebox(没有此账号,请重新输入,或从组合框中选择没有此账号,请重新输入,或从组合框中选择)this.displayvalue this.displayvalue=elseelse thi

54、sform thisform.text1.enabled=.t.text1.enabled=.t.endifendifCommandGroup1CommandGroup1的的ClickClick事件代码事件代码do casedo casecase this.value=2case this.value=2 thisformthisform.release.releasecase this.value=1case this.value=1 if alltrim(thisform.text1.value)=alltrim if alltrim(thisform.text1.value)=alltr

55、im(user.(user.密码密码)messagebox messagebox(欢迎使用本系统欢迎使用本系统)ELSE ELSE messagebox messagebox(密码错不能使用本系统!密码错不能使用本系统!)quitquit endif endifendcaseendcasethisformthisform.release.releaseVisual foxpro 漳州师范学院计算中心56 8.3.3 复选框复选框(checkbox)复选框有两种状态:复选框有两种状态:.T.、.F.。复选框外形有两种:方形、按钮复选框外形有两种:方形、按钮第一个创建的复选框名为第一个创建的复选框

56、名为check11.属性选介属性选介(1)Style:属性设置如表:属性设置如表style属性值属性值外外 观观选定状态选定状态0-标准标准方框,其右侧显示方框,其右侧显示Caption文本文本出现复选标记出现复选标记1-按钮图形按钮图形指定指定Picture图形图形图形按钮,图形按钮,Caption文本在图形文本在图形下方下方按钮呈按下状按钮呈按下状1-按钮图形按钮图形Picture未设置未设置文本按钮,文本按钮,Caption文本居中文本居中Visual foxpro 漳州师范学院计算中心57(2)Value:设置或返回复选框选定状态。:设置或返回复选框选定状态。若若Value设置为数值型

57、:设置为数值型:0 未选定、未选定、1 选定、选定、2 灰色灰色若若Value设置为逻辑型:设置为逻辑型:.F.未选定、未选定、.T.选定选定(3)ControlSource:设置复选框数据源,常绑定逻辑:设置复选框数据源,常绑定逻辑型字段型字段2.事件选定事件选定Click:单击复选框时触发:单击复选框时触发Interactive Change:复选框值发生改变时触发:复选框值发生改变时触发Visual foxpro 漳州师范学院计算中心58 8.3.4 选项按钮组选项按钮组 选项按钮组是包含选项按钮的容器选项按钮组是包含选项按钮的容器(多选一多选一),当选,当选定某个按钮,其他的选项按钮自

58、动便成为选定。定某个按钮,其他的选项按钮自动便成为选定。1.属性选介属性选介(1)style:决定选项按钮的外观:决定选项按钮的外观Style属性值外 观选定状态0-标准圆圈,其右侧显示Caption文本出现单选标记1-按钮图形指定Picture图形图形按钮,Caption文本在图形下方按钮呈按下状1-按钮图形Picture未设置文本按钮,Caption文本居中Visual foxpro 漳州师范学院计算中心59(2)Value:要区分选项按钮组与组内的选项按钮:要区分选项按钮组与组内的选项按钮各自的属性各自的属性 选项组选项组的的Value属性:有属性:有数值数值与与字符字符两种两种数值型:

59、数值型:则返回被选定按钮的序号则返回被选定按钮的序号(默认默认1,表,表示第示第1个选项被选定个选项被选定)字符型:字符型:则返回被选定按钮的则返回被选定按钮的Caption属性。属性。选项按钮选项按钮的的Value属性:有属性:有数值数值与与逻辑逻辑两种,表两种,表示选项按钮的状态,示选项按钮的状态,1或或.T.表示选定,表示选定,0或或.F.表表示未选定示未选定Visual foxpro 漳州师范学院计算中心60(3)ControlSource:设置选项组的数据源:设置选项组的数据源 若将本属性设置为某字段名,会将选项的若将本属性设置为某字段名,会将选项的caption属属性值存在该字段中

60、,要注意字段类型与性值存在该字段中,要注意字段类型与Value属性的属性的匹配。若选项按钮组的匹配。若选项按钮组的Value属性为字符型,则应选属性为字符型,则应选择字符型字段作为数据源。当选定某个选项按钮时,择字符型字段作为数据源。当选定某个选项按钮时,将在该字段中保存该选项按钮的标题;将在该字段中保存该选项按钮的标题;若若Value为数值型时,则应选择数值型字段伯为为数值型时,则应选择数值型字段伯为数据源,当选定某个选项按钮时,将在该字段中保数据源,当选定某个选项按钮时,将在该字段中保存该选项按钮的序号。存该选项按钮的序号。(4)ButtonCount:设置选项按钮组包含的选项按钮个:设置

61、选项按钮组包含的选项按钮个数数2.选项按钮组生成器选项按钮组生成器 三个卡:按钮、布局、值三个卡:按钮、布局、值Visual foxpro 漳州师范学院计算中心61 例例8.9 设计如图表单实现按专业统计人数。设计如图表单实现按专业统计人数。表单文件表单文件P8-9.scx P217Optiongroup1Optiongroup1的的ClickClick事件代码事件代码count for student.count for student.专业专业=this.value to xthis.value to xthisformthisform.text1.value=x.text1.value=

62、xVisual foxpro 漳州师范学院计算中心62 8.3.5 计时器控件计时器控件(Timer)计时器控件是当规定时间间隔一到,系统便自动触计时器控件是当规定时间间隔一到,系统便自动触发发Timer事件。第一个被创建的计时器对象为事件。第一个被创建的计时器对象为Timer1,在表单运行时,计时器对象将自动隐藏。在表单运行时,计时器对象将自动隐藏。1.属性选介属性选介(1)Interval:指定触发时间间隔,单位为毫秒。:指定触发时间间隔,单位为毫秒。(如如500)当为当为0 时时(缺省缺省),将阻止,将阻止Timer事件发生事件发生(2)Enabled:为:为.T.时系统按时系统按Int

63、erval属性规定的时间间属性规定的时间间隔触发隔触发Timer事件,事件,.F.时不触发,直到再为时不触发,直到再为.T.时。时。2.事件选介事件选介Timer事件:在事件:在Interval属性规定的时间间隔到后触发属性规定的时间间隔到后触发Visual foxpro 漳州师范学院计算中心63 Visual foxpro 漳州师范学院计算中心64 例例8.10 修改本章修改本章例例8.1的封面表单,使封面标题实现的封面表单,使封面标题实现由大至小或由小至大的动态变化。由大至小或由小至大的动态变化。表单文件表单文件P8-9.scx P218Visual foxpro 漳州师范学院计算中心65

64、 例8.10 设计一个TEST.DBF表,TEST表结构为:题号N(2),题名M,A C(100),B C(100),C C(100),D C(100),学生答案C(2),正确答案 C(2)。创建如图的表单,实现如下要求:单击表单的命令按钮组某命令按键,表单右侧显示题号与命令按钮标题号一样的试题,包括该试题的题目内容及A、B、C、D四个选择答案内容Visual foxpro 漳州师范学院计算中心66 选定以图形化方式显示的选项按钮A、B、C、D之一时,将在表单“txt学生答案”文本框中显示学生的选择答案,即所选的选项按钮标题 若“正确答案”复选框选定,则在Text1中显示正确答案,否则不显示V

65、isual foxpro 漳州师范学院计算中心67 8.4 多重容器类 表格、页框、Container容器都是多重容器类。如:表格可包含列、列标题和列文本控件;页框可由多个页构成,而每个页可包含一个表格或其他对象;Container容器中可包含除表单表单集之外的各种控件。Visual foxpro 漳州师范学院计算中心68 8.4.1容器(Container)Container容器可以包含除表单与表单集之外的多个不同类型的对象。(如复选框、页框、命令按钮)第一个创建的容器名:container1Visual foxpro 漳州师范学院计算中心69 创建Container容器可用表单控件工具栏的

66、容器按钮,要往Container容器内添加对象时,必须先激活容器,常用属性 Specialeffect:0-突起、1-凹下、2-平面 Enabled:.T.容器可用;.F.容器不可用 Visible:.T.容器可见;.F.容器隐藏Visual foxpro 漳州师范学院计算中心70 例8.10 设计如图所示的调查表表单。表单文件8-10Visual foxpro 漳州师范学院计算中心71 8.4.2 表格(Grid)表格是按行和列显示数据的容器类控件。表格及所包含的列、列标头、列控件都有各自的属性、方法、事件。在表单上第1个被创建的表格对象名为Grid1 1.表格组成(1)表格(Grid):容器对象,由若干列组成。(2)列(Column):也是容器类对象,由列标头和列控件组成Visual foxpro 漳州师范学院计算中心72 (3)列标题(Header):默认值为某字段名或字段标题,可修改(4)列控件:一列必须设置一个列控件,该列中的每个单元格都可用此控件来显示字段值。列控件默认为文本框,但允许修改为本控件字段类型相容的其他控件。例:逻辑型字段列控件除了可为文本框列控件外,也可为复选

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!