版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、visual foxpro 漳州师范学院计算中心 visual foxpro 6.0 程序设计与应用教程程序设计与应用教程 漳州师范学院漳州师范学院 计算中心计算中心 2003.92003.9 visual foxpro 漳州师范学院计算中心 第八章 visual foxpro 漳州师范学院计算中心 3 表单控件的常用属性表单控件的常用属性、方法、方法、 事件和事件和主要功能主要功能 本章学习要点本章学习要点 visual foxpro 漳州师范学院计算中心 4 简简 介介 vfp有有21个基类控件,可分为个基类控件,可分为5大类:大类: 1.输出类输出类:标签、图像、线条、形状:标签、图像、
2、线条、形状 2.输入类输入类:文本框、编辑框、微调控件、列表框、:文本框、编辑框、微调控件、列表框、 组合框组合框 3.控制类控制类:命令按钮、命令按钮组、复选框、:命令按钮、命令按钮组、复选框、 选项按钮组、计时器选项按钮组、计时器 4.多重容器类多重容器类:表格、页框、:表格、页框、container容器容器 5.连接类连接类:activex控件、控件、activex绑定控件、超级链接绑定控件、超级链接 控件控件 以上分类仅是按控件的主要功能,其实每个控件都 有很多特性,例如:一般的控件都可起到控制的作用, 因为都含有click事件。 visual foxpro 漳州师范学院计算中心 5
3、常用控件的公共属性常用控件的公共属性 name:控件的名称,它是代码中访问控件的标识(表:控件的名称,它是代码中访问控件的标识(表 单或表单集除外)。单或表单集除外)。 fontname:字体名。:字体名。 fontbold:字体样式为粗体。:字体样式为粗体。 fontsize:字体大小。:字体大小。 fontitalic:字体样式为斜体。:字体样式为斜体。 forecolor:前景色。:前景色。 height:控件的高度:控件的高度 width:控件的宽度。控件的高度和控件的宽度,也:控件的宽度。控件的高度和控件的宽度,也 可在设计时通过鼠标拖曳进行可视化调整。可在设计时通过鼠标拖曳进行可视
4、化调整。 visible:控件是否显示。:控件是否显示。 enable:控件运行时是否有效。如果为:控件运行时是否有效。如果为 .t.,则表示控,则表示控 件有效,否则运行时控件不可使用。件有效,否则运行时控件不可使用。 visual foxpro 漳州师范学院计算中心 6 8.1输出类控件输出类控件 .1 标签标签(label)(label) 在表单中,标签对象常被用来显示一些说明信息、在表单中,标签对象常被用来显示一些说明信息、 对象标题等信息对象标题等信息 1.1.标签的创建标签的创建 (1)(1)利用表单控件工具栏利用表单控件工具栏 (2)(2)从数据环境的表中拖一字段
5、至表单上从数据环境的表中拖一字段至表单上 表单上创建的第表单上创建的第1 1个标签名:个标签名:label1label1 n属性选介属性选介 captioncaption:用于指定标签对象的标题,是字符型数据用于指定标签对象的标题,是字符型数据 autosizeautosize:为为.t.t.时,标签对象将根据其内容自动地时,标签对象将根据其内容自动地 改变大小,缺省为改变大小,缺省为. .f.f. visual foxpro 漳州师范学院计算中心 7 wordwrapwordwrap:为为.t.t.时,标签的内容可实现自动换行时,标签的内容可实现自动换行 (auto size(auto si
6、ze应为应为. .t.)t.) backstylebackstyle:为为0 0时,使标签对象透明,缺省为时,使标签对象透明,缺省为1 1,不,不 透明透明 borderstyleborderstyle:指定标签对象的边框风格,为指定标签对象的边框风格,为0 0无边框,无边框, 为为1 1时,单线框时,单线框 n两种设置属性的方法两种设置属性的方法: 1.1.在属性窗口中设置在属性窗口中设置 2.2.用事件代码设定用事件代码设定 n说明说明:字符型属性在属性窗口中设置时,不用界限:字符型属性在属性窗口中设置时,不用界限 符号,而用代码时则要。符号,而用代码时则要。 如:如:thisform.t
7、hisform.label1label1.caption=“.caption=“学生学号学生学号” visual foxpro 漳州师范学院计算中心 8 8.1.2 图像、线条、形状图像、线条、形状 1.图像图像 图像控件可支持的图像文件类图像控件可支持的图像文件类 型有:型有:bmp、jpg、ico、gif等等 表单及表单中对象的图像创建方法:表单及表单中对象的图像创建方法: 利用表单控件工具栏利用表单控件工具栏 表单中创建的第表单中创建的第1个图像名:个图像名:image1 设置值设置值描述描述 0剪裁剪裁(默认默认) 图像按剪贴方式来适应控件图像按剪贴方式来适应控件 1等比填充等比填充
8、调整图像大小来适应控件,保持原比例调整图像大小来适应控件,保持原比例 2变比填充调整图像大小来适应控件,不保持原比例变比填充调整图像大小来适应控件,不保持原比例 属性选介属性选介 picture:在属性窗口中为表单或对象指定一个图像文件在属性窗口中为表单或对象指定一个图像文件 stretch:图像如何调整大小适应图像如何调整大小适应image控件控件 visual foxpro 漳州师范学院计算中心 9 2. 线条线条(line) 画水平线画水平线(height=0)、垂直线、垂直线(width=0)、斜线。、斜线。 在表单中创建的第在表单中创建的第1 个线条对象名:个线条对象名:line1
9、属性选介属性选介 lineslant:斜线方向属性斜线方向属性( 或或 / ) 3. 形状形状(shape) 画圆、椭圆、正方形、矩形、圆角矩形、圆角正方形画圆、椭圆、正方形、矩形、圆角矩形、圆角正方形 在表单中创建的第在表单中创建的第1个形状对象名:个形状对象名:shape1 curvature:确定圆角大小。确定圆角大小。 curvaturewidth=heightwidthheight 0正方形正方形长方形长方形 1 99小圆角正方形小圆角正方形大圆角大圆角 正方形正方形圆圆 小圆角矩形小圆角矩形大圆大圆 角矩形椭角矩形椭圆圆 visual foxpro 漳州师范学院计算中心 10 例例
10、8.1 设计如图所示的应用程序封面设计如图所示的应用程序封面 表单文件表单文件p8-1.scx visual foxpro 漳州师范学院计算中心 11 说明说明:表单设置在桌面上,无标题栏,封面文字放:表单设置在桌面上,无标题栏,封面文字放 在水平中间,垂直在水平中间,垂直1/3处。必须将标签的文字定位代处。必须将标签的文字定位代 码编写在表单的码编写在表单的activate事件中,若编写在表单的事件中,若编写在表单的 init事件中,因此时表单尚未最大化,而表单大小与事件中,因此时表单尚未最大化,而表单大小与 位置要依表单大小确定的。位置要依表单大小确定的。 完成后再添加一个形状完成后再添加
11、一个形状 属性参照属性参照p196表表8-3设置设置 visual foxpro 漳州师范学院计算中心 12 8.2 输入类控件输入类控件 输入类控件有:文本框、编辑框、列表框、和组合输入类控件有:文本框、编辑框、列表框、和组合 框。其中列表框和下拉列表框只能让用户选择数据,框。其中列表框和下拉列表框只能让用户选择数据, 其余控件都可接受用户从键盘输入数据。其余控件都可接受用户从键盘输入数据。 8.2.1 文本框文本框(textbox) 文本框可供用户输入、编辑数据。文本框可供用户输入、编辑数据。 文本框可接受的数据类型有:文本框可接受的数据类型有:c、n、d、l型。型。 创建文本框对象的方法
12、有两种:创建文本框对象的方法有两种: (1) 利用表单工具栏的文本框按钮利用表单工具栏的文本框按钮 (2) 从数据环境中拖一字段至表单中从数据环境中拖一字段至表单中 visual foxpro 漳州师范学院计算中心 13 1.属性选介属性选介 value:指定文本框中对象的值,属性值可以是:指定文本框中对象的值,属性值可以是c、n、 d或或l型。型。 说明:文本框中只能输入一段的数据说明:文本框中只能输入一段的数据(只接受一次回车只接受一次回车) controlsource:文本框的控制数据源。:文本框的控制数据源。 format:指定:指定value值的约束格式。值的约束格式。 format
13、属性是为属性是为整个文本框整个文本框规定一个格式。规定一个格式。p197表表 设置值设置值描描 述述 a只允许字母字符只允许字母字符 k当光标移到文本框上时当光标移到文本框上时,框中数据就被选定框中数据就被选定 l在文本框中显示数据的前导在文本框中显示数据的前导0(取代空格取代空格)。只有数值可用。只有数值可用 t截去输入字段中的前导空格和尾随空格截去输入字段中的前导空格和尾随空格 !转换小写字母到大写字母,仅用在字符型数据转换小写字母到大写字母,仅用在字符型数据 visual foxpro 漳州师范学院计算中心 14 inputmask(输入掩码):约束文本框中指定位置(输入掩码):约束文本
14、框中指定位置 字符的格式。字符的格式。 该属性规定文本框中该属性规定文本框中指定位置字符指定位置字符的格式。的格式。 显示当前的货币符号显示当前的货币符号$ 指定小数点的位置指定小数点的位置. 允许输入数字、空格和正负号允许输入数字、空格和正负号# 只允许输入数字与正负号只允许输入数字与正负号9 只允许输入字母只允许输入字母a 可键入任何字符可键入任何字符x 描述描述设置值设置值 ,分隔小数点左边的数字串分隔小数点左边的数字串 visual foxpro 漳州师范学院计算中心 15 例:设置文本框的例:设置文本框的value:字符型数据:字符型数据 (无无)、 inputmask:aaa 表示
15、文本框中只接受字母字符、且最多为表示文本框中只接受字母字符、且最多为3位位 例:设置文本框的例:设置文本框的value:字符型数据:字符型数据 (无无)、 inputmask:9999-9999999 表示文本框中只接受数字字符型数据表示文本框中只接受数字字符型数据 visual foxpro 漳州师范学院计算中心 16 readonly:指定文本框是否允许编辑指定文本框是否允许编辑 .f.允许允许 (默认默认) .t.只读只读 alignment:指定文本框中数据对齐方式指定文本框中数据对齐方式, 0- 左对齐左对齐, 1-右对齐右对齐 , 2- 居中居中, 3- 自动自动(默认默认),此时
16、对齐方式与此时对齐方式与value的数据类型有的数据类型有 关关,n型右对齐型右对齐,其余左对齐其余左对齐 。 passwordchar:指定文本框所键入字符的显示符号,指定文本框所键入字符的显示符号, 该属性不影响该属性不影响value的值。的值。 visual foxpro 漳州师范学院计算中心 17 2. 方法选介方法选介 setfocus:为文本框对象设置当前焦点:为文本框对象设置当前焦点 设置为焦点后操作所作的输入都是针对它的设置为焦点后操作所作的输入都是针对它的 如:如:thisorm.text1.setfocus 3. 事件选介事件选介 (1)when:文本框获得焦点前发生:文本
17、框获得焦点前发生 (2)gotfocus:文本框获得焦点时发生:文本框获得焦点时发生 (3)valid:文本框失去焦点前发生:文本框失去焦点前发生 (4)lostfocus:文本框失去焦点时发生:文本框失去焦点时发生 (5)keypress:当在文本框中按动键时发生:当在文本框中按动键时发生 (6) interactivatechange:当用户用键盘当用户用键盘 或鼠标改变或鼠标改变 文本框对象的值时发生。文本框对象的值时发生。 visual foxpro 漳州师范学院计算中心 18 4. 文本框生成器文本框生成器 生成器可用来设置生成器可用来设置常用属性常用属性。但不能设置所有属性。但不能
18、设置所有属性。 (且不是所有控件都有生成器。且不是所有控件都有生成器。) 例:文本框中的例:文本框中的value、controlsource、inputmask、 enabled.可用生成器来设置。可用生成器来设置。 文本生成器的打开文本生成器的打开 右键单击控件选择右键单击控件选择 visual foxpro 漳州师范学院计算中心 19 文本生成器包括:格式、样式、值三个选项卡文本生成器包括:格式、样式、值三个选项卡 1. 格式选项卡格式选项卡 (1)数据类型数据类型:表示文本框的数据类型:表示文本框的数据类型 (2)仅字母表中的字符仅字母表中的字符:表示文本框中只允许字母字:表示文本框中只
19、允许字母字 符,符,(相当于相当于format中的格式码中的格式码“a”) (3)显示前导零显示前导零:显:显 示数字中小数点左示数字中小数点左 的前导的前导0。(相当相当 format中的格式码中的格式码 “l”) visual foxpro 漳州师范学院计算中心 20 (4)进入时选定进入时选定:表示当非空的文本框获得焦点时,框:表示当非空的文本框获得焦点时,框 中数据就被选定中数据就被选定(相当相当format中的格式码中的格式码“k”) (5)隐藏显示内容隐藏显示内容:表示当文本失去焦点时,框中所选:表示当文本失去焦点时,框中所选 定数据的选定状态就被取消,否则,所选定仍将保定数据的选
20、定状态就被取消,否则,所选定仍将保 持选定状态持选定状态( 相应于相应于hide selection属性属性) (6)在运行时启用在运行时启用:表示:表示 文本框是否可用;文本框是否可用;(选中选中 相当于相当于enable=.t.) (7)使其只读使其只读:表示是否:表示是否 禁止文本框中的数据禁止文本框中的数据(选选 中对应中对应readonly的的.t.) (8)输入掩码输入掩码:对应:对应 inputmask属性。属性。 visual foxpro 漳州师范学院计算中心 21 2. 样式选项卡样式选项卡 (1)特殊效果特殊效果:“三维三维” 和和“平面平面” (对应对应 special
21、effect 属性属性 3d、plain) (2)边框边框:“单线单线”和和“无无”(对应对应borderstyle属性的属性的 单线框和无边框单线框和无边框 (3)字符对齐方式字符对齐方式:对应:对应alignment属性属性 (4)调整文本框尺寸调整文本框尺寸:调:调 整文本框的大小,使其整文本框的大小,使其 恰好容纳数据恰好容纳数据(应与应与 inputmast配合配合) visual foxpro 漳州师范学院计算中心 22 3.值选项卡值选项卡 对应对应controlsource属性,可利用该字段名组合框属性,可利用该字段名组合框 的列表指定表或视图中的某一项。的列表指定表或视图中的
22、某一项。 visual foxpro 漳州师范学院计算中心 23 例例8.2 某铁路上共有某铁路上共有n(1)个个 车站,需要准备多少种车票?车站,需要准备多少种车票? 设任两个车站都有往返车票。设任两个车站都有往返车票。 表单文件表单文件p8-2.scx command1command1的的clickclick事件代码事件代码 if thisform.text1.value=1 return endif s=0 for m=1 to thisform.text1.value for n=2 to thisform.text1.value s=s+1 endfor endfor thisfor
23、m.text2.value=s this.enabled=.f. thisform.command2.enabled=.t. command2command2的的clickclick事件代码事件代码 thisform.text1.value=0 thisform.text2.value=0 this.enabled=.f. thisform.command1. enabled=.t. visual foxpro 漳州师范学院计算中心 24 例例8.3 设计如图表单,任设计如图表单,任 意设置圆形的大小和颜意设置圆形的大小和颜 色。色。 表单文件表单文件p8-3.scx 命令按钮确定命令按钮确定
24、clickclick事件代码事件代码 thisform.shape1.height=val(thisform.text1.value) thisform.shape1.width=thisform.shape1.height if val(thisform.text2.value)255 return endif if val(thisform.text3.value)255 return endif if val(thisform.text4.value)255 return endif thisform.shape1.backcolor=rgb(val(thisform.text2.val
25、ue), val(thisform.text3.value),val(thisform.text4.value) return visual foxpro 漳州师范学院计算中心 25 8.2.2 编辑框编辑框 利用编辑框控件可实现文本数据的输入与编辑,其利用编辑框控件可实现文本数据的输入与编辑,其 中的文本可以是一段或多段。中的文本可以是一段或多段。 (编辑框常用于绑定备注型字段编辑框常用于绑定备注型字段) 1. 属性选介属性选介 value:用于指定编辑框的值,并在框中显示。只能:用于指定编辑框的值,并在框中显示。只能 c型。可输入多段数据。型。可输入多段数据。 scrollbar:为:为2
26、时,当编辑框包含的数据超出编辑框时,当编辑框包含的数据超出编辑框 时,出现垂直滚动条,为时,出现垂直滚动条,为0时无滚动条时无滚动条 controlsource:设置编辑框对象的数据源。一般为:设置编辑框对象的数据源。一般为 备注型字段备注型字段 visual foxpro 漳州师范学院计算中心 26 seltext:返回用户在编辑框中所选定的文本内容,该:返回用户在编辑框中所选定的文本内容,该 属性不在属性窗口中设置,在代码中设置属性不在属性窗口中设置,在代码中设置. 例:例:thisform.edit1.value=thisform.edit2.seltext thisform.edit1
27、.seltext=thisform.edit2.seltext 将将edit2中选中的内容复制到中选中的内容复制到edit1中。中。 selstart:指定用户在文本框或编辑框中选定内容的起:指定用户在文本框或编辑框中选定内容的起 始位置,第一个字符位置为始位置,第一个字符位置为0 sellength:指定:指定 返回用户在文本框或编辑框中选定内返回用户在文本框或编辑框中选定内 容的长度容的长度 例:选中表单编辑例:选中表单编辑edit1从第从第4个字符开始的个字符开始的6个字符个字符 thisform.edit1.setfocus 须先获得焦点须先获得焦点 thisform.edit1.se
28、lstart=3 thisform.edit1.sellength=6 visual foxpro 漳州师范学院计算中心 27 例例8.4 设计表单,实现在一个编辑框中查找另一个编设计表单,实现在一个编辑框中查找另一个编 辑框选定项内容。辑框选定项内容。 表单文件表单文件p8-4 .scx command1的的click事件代码事件代码 if !empty(thisform.edit1.seltext) findstring=alltrim(thisform.edit1.seltext) loc=at(findstring,thisform.edit2.value) if loc=0 this
29、form.label3.caption=未找到字符串未找到字符串 else thisform.label3.caption=找到字符串找到字符串 thisform.edit2.setfocus thisform.edit2.selstart=loc-1 thisform.edit2.sellength=len(findstring) endif else thisform.label3.caption=请在左边编辑框中选定要查找的字符串请在左边编辑框中选定要查找的字符串 endif visual foxpro 漳州师范学院计算中心 28 例例8.5 设计如图表单,利用剪贴板实现文本框选定内设计
30、如图表单,利用剪贴板实现文本框选定内 容复制到编辑框中,要求如下:容复制到编辑框中,要求如下: 在文本框中选定内容后在文本框中选定内容后 ,“复制复制”命令按钮被激活命令按钮被激活 若若“复制复制”命令按钮按下,实现文本框选定内容粘贴命令按钮按下,实现文本框选定内容粘贴 到编辑框位置。到编辑框位置。 表单文件表单文件p8-5 .scx visual foxpro 漳州师范学院计算中心 29 command1(command1(复制复制) )的的clickclick事件代码事件代码 _cliptext=thisform.text1.seltext this.enabled=.f. thisfor
31、m.command2.enabled=.t. command2(command2(粘贴粘贴) )的的clickclick事件代码事件代码 thisform.edit1.seltext=_cliptext thisform.edit1.setfocus text1(text1(文本框文本框) )的的mouseupmouseup事件代码事件代码 lparameters nbutton, nshift, nxcoord, nycoord *判断判断text1中是否有选定内容,有则中是否有选定内容,有则command1 if len(this.seltext)0 thisform.command1.e
32、nabled=.t. endif form1form1的的initinit事件代码事件代码 thisform.text1.setfocus _cliptext=&清空剪贴板,清空剪贴板,_cliptext是一系统是一系统 内存变量,用于提供剪贴板内容。内存变量,用于提供剪贴板内容。 将将 选选 定定 内内 容容 复复 制制 到到 剪剪 贴贴 板板 visual foxpro 漳州师范学院计算中心 30 8.2.3 列表框与组合框列表框与组合框 列表框与组合框都有一个可选择单项或多项选项的列表框与组合框都有一个可选择单项或多项选项的 列表,列表框全部显示,组合框只显示一项,只在单列表,列表框全部
33、显示,组合框只显示一项,只在单 击右端向下按钮才显示列表,组合框分为下拉组合框击右端向下按钮才显示列表,组合框分为下拉组合框 (可输入可输入)和下拉列表框和下拉列表框 1.属性选介属性选介 columncount: 指定列表框或组合框的列数指定列表框或组合框的列数 style:组合框属性,如下表:组合框属性,如下表: 属性值组合框类型功能 0下拉组合框 即可在列表框中选项,也可在 组合框中输入一个值 2下拉列表框 仅可在列表框中选项 visual foxpro 漳州师范学院计算中心 31 值值源类型源类型说说 明明 0无无缺省值,运行时用缺省值,运行时用additem或或addlistitem
34、方法添方法添 加列表项加列表项 1值值rowsource应设置逗号分隔的数据项来填充列应设置逗号分隔的数据项来填充列 2别名别名rowsource应设置表名,表由数据环境提供,用应设置表名,表由数据环境提供,用 columncount确定字段数确定字段数 3 sql语句语句 rowsource应设置应设置sql select命令以选出记录,命令以选出记录, sql select应包括应包括into子项,以创建一个临子项,以创建一个临 时表或表时表或表 4查询查询(.qpr)rowsource应设置一个应设置一个.qpr文件名文件名 rowsourcetype:指定列表框或组合框数据类型。共:指
35、定列表框或组合框数据类型。共 有有9类,如下表:类,如下表: visual foxpro 漳州师范学院计算中心 32 值值源类型源类型说说 明明 5数组数组rowsource应设置数组名应设置数组名 6字段字段rowsource应设置逗号分隔的字段列表,应设置逗号分隔的字段列表, 字段首有表名前缀,表来自数据环境字段首有表名前缀,表来自数据环境 7文件文件rowsource应设置路径,可用通配符或掩应设置路径,可用通配符或掩 码,结果以目录与文件名填充码,结果以目录与文件名填充 8结构结构rowsource应设置表名,结果以该表字段应设置表名,结果以该表字段 名来填充列名来填充列 9 弹出式菜
36、单弹出式菜单 为与以前版本兼容而设置为与以前版本兼容而设置 visual foxpro 漳州师范学院计算中心 33 rowsource:指定列表框数据源。必须与:指定列表框数据源。必须与 rowsourcetype 匹配匹配 listcount:返回组合框或列表框中:返回组合框或列表框中列表项的个数列表项的个数(行行 数数) 例例:thisform.combo1.listcount 可返回组合框中行数可返回组合框中行数 value:返回组合框或列表框中选定行的内容。对于多:返回组合框或列表框中选定行的内容。对于多 列式列表框,选定项中的哪一列作为列式列表框,选定项中的哪一列作为value属性值
37、,属性值, 决定于决定于boundcolumn属性。属性。 tbo1.boundcolumn=5 thisform.print(tbo1.value) visual foxpro 漳州师范学院计算中心 34 displayvalue:返回组合返回组合框中显示的文本内容框中显示的文本内容 如如:thisform.print(bo1.displayvalue) multiselected:指定用户是否在指定用户是否在列表框列表框中进行多重选中进行多重选 择。择。( .t.允许、允许、.f.不允许,用不允许,用ctrl、shift配合配合) boundcolumn:指定哪一列作为指定哪一列作为val
38、ue属性的值属性的值,缺省,缺省 第第1列。列。 columncount:显示的列数显示的列数 controlsource:指定指定value值值存储的绑定字段存储的绑定字段。 listindex:返回组合框或列表框中选定项的顺返回组合框或列表框中选定项的顺 序号序号 例:例:thisform.print(bo1.listindex) thisform.list1.listindex=2 visual foxpro 漳州师范学院计算中心 35 list:返回组合框或列表框行号,列号的内容返回组合框或列表框行号,列号的内容 格式:格式:object.list(行号行号,列号列号) 例:例:thi
39、sform.print(bo1.list(3,2) selected:当某一项被选中时,当某一项被选中时,selected属性返回属性返回.t., 否则为否则为.f. 格式:格式:object.selected(n)=lexpr 例:例:tbo1.selected(3)=.t. firstelement:当数据类型为当数据类型为数组数组时指定数组中第一时指定数组中第一 个显示在列表框或组合框中的元素个显示在列表框或组合框中的元素 例:例:tbo1.firstelement=2 numberofelements:当数据类型为当数据类型为数组数组,指定一个数,指定一个数 组中有多少项用来填充组合框
40、或列表框组中有多少项用来填充组合框或列表框 例:例:bo1.numberofelements=3 visual foxpro 漳州师范学院计算中心 36 2. 方法选介方法选介 (1)additem:当组合框或列表框的:当组合框或列表框的 rowsourcetype属性为属性为0时,使用本方法程序时,使用本方法程序可在列可在列 表中添加一个新项表中添加一个新项 格式:格式:object.additem(citem,行号行号) (2)removeitem:当组合框或列表框的:当组合框或列表框的row source type属性为属性为0时,使用本方法程序时,使用本方法程序可在列表中删除一可在列表
41、中删除一 项项。 格式:格式:object.removeitem(n) 说明:说明:n为数值表达式,取值范围为数值表达式,取值范围1listcount (3)clear:清除列表框中的所有项:清除列表框中的所有项 visual foxpro 漳州师范学院计算中心 37 3.事件选介事件选介 (1)interactivechange:当列表框或组合框值发生改当列表框或组合框值发生改 变时触发变时触发 (2)click:当用户单击列表框或组合框时触发当用户单击列表框或组合框时触发 【例例8.6】列表框的应用:按下图设计一个表单。要】列表框的应用:按下图设计一个表单。要 求表单运行时,求表单运行时,
42、list1列表框显示列表框显示stud表的所有字表的所有字 段,单击左箭头按钮时,段,单击左箭头按钮时,list1中选择的字段加入到中选择的字段加入到 list2中。中。表单文件表单文件p8-6 .scx visual foxpro 漳州师范学院计算中心 38 操作步骤:操作步骤: 按图所示在表单中加入二个列表框、二个标签、二按图所示在表单中加入二个列表框、二个标签、二 个命令按钮。个命令按钮。 在表单的在表单的init事件中加入如下代码:事件中加入如下代码: thisform.list1.value=0 thisform.list2.value=0 open database xsgl us
43、e student for i=1 to fcount() thisform.list1.additem(fields(i) next close database visual foxpro 漳州师范学院计算中心 39 在右向箭头按钮在右向箭头按钮(添加添加)command1的的click事事 件中加入如下代码:件中加入如下代码: if thisform.list1.value=0 return endif for i=1 to thisform.list2.listcount if thisform.list1.listitemthisform.list1.value= thisform.
44、list2.list(i) messagebox(已有该字段了已有该字段了) return endif endfor thisform.list2.addlistitem(thisform.list1. listitemthisform.list1.value) visual foxpro 漳州师范学院计算中心 40 在左向箭头按钮在左向箭头按钮(删除删除)command2的的click事件事件 中加入如下代码:中加入如下代码: if thisform.list2.value=0 or thisform.list2.listindex=0 return endif thisform.list2
45、.removeitemthisform.list2.value 在双左向箭头按钮在双左向箭头按钮(=60 =60 into into array xarray x thisform.text1.value=x(1)thisform.text1.value=x(1) thisform.list1.refreshthisform.list1.refresh thisform.text1.refreshthisform.text1.refresh visual foxpro 漳州师范学院计算中心 47 8.2.4 微调控件微调控件(sprinner) 用于接受给定范围之内的数值输入,既可以键盘输用于
46、接受给定范围之内的数值输入,既可以键盘输 入也可以单击控件的上下箭头按钮增减当前值。入也可以单击控件的上下箭头按钮增减当前值。 1. 1. 属性选介属性选介 valuevalue:表示微调控件的当前值:表示微调控件的当前值 keyboardhighvaluekeyboardhighvalue:设定键盘输入数值上限:设定键盘输入数值上限 keyboardlowvaluekeyboardlowvalue:设定键盘输入数值下限:设定键盘输入数值下限 spinnerhighvaluespinnerhighvalue:设定微调数值上限:设定微调数值上限 spinnerlowvaluespinnerlow
47、value:设定微调数值下限:设定微调数值下限 visual foxpro 漳州师范学院计算中心 48 increment increment:微调增量值:微调增量值 inputmaskinputmask:设置输入掩码:设置输入掩码 controlsource:设置微调控件的数据源,只能是:设置微调控件的数据源,只能是数数 值型值型的变量或字段。的变量或字段。 2. 事件事件 (1)downclick:按微调控件的向下按钮时触发:按微调控件的向下按钮时触发 (2)upclick:按微调控件的向上按钮时触发:按微调控件的向上按钮时触发 visual foxpro 漳州师范学院计算中心 49 8.
48、3 控件类控件控件类控件 8.3.1 命令按钮命令按钮 1. 常用属性选介常用属性选介 (1)caption:设置命令按钮标题;可为命令按钮设置:设置命令按钮标题;可为命令按钮设置 热键,方法:在某字母前加热键,方法:在某字母前加“ ”,用,用 alt 激活。激活。 如:如: (2)enabled:确定命令按钮是否响应:确定命令按钮是否响应(不能响应时,不能响应时, 按钮呈浅色按钮呈浅色) (3)visible:确定命令按钮是不可见。当不可:确定命令按钮是不可见。当不可 见时,还可用代码访问。见时,还可用代码访问。 如如: mand1.visible=.t. visual foxpro 漳州师
49、范学院计算中心 50 (4)default:若表单上有不止一个命令按钮,可将其中:若表单上有不止一个命令按钮,可将其中 一个按钮设为缺省按钮,当所有的按钮均为非焦点一个按钮设为缺省按钮,当所有的按钮均为非焦点 时,按动时,按动enter,则执行该按钮的,则执行该按钮的click事件。事件。 (5)cancel:若该命令按钮的:若该命令按钮的cancel属性为属性为.t.,用户按,用户按 esc键将执行该命令按钮的键将执行该命令按钮的click事件。事件。 (6)picture:设置命令按钮上显示图形。若要在命令按:设置命令按钮上显示图形。若要在命令按 钮上同时显示图文,可设置钮上同时显示图文,
50、可设置picture与与caption属性属性 (7)tooltiptext:设置提示文本。:设置提示文本。(须须表单的表单的showtips 属性为属性为.t.) 2. 常用事件选介常用事件选介 (1)click:命令按钮的单击鼠标左键事件:命令按钮的单击鼠标左键事件 (2)rightclick:命令按钮的单击鼠标右键事件:命令按钮的单击鼠标右键事件 visual foxpro 漳州师范学院计算中心 51 8.3.2 命令按钮组命令按钮组 命令按钮组是一组包含若干命令按钮的容器。其中的命令按钮组是一组包含若干命令按钮的容器。其中的 各个按钮均有各自的属性、方法、事件。各个按钮均有各自的属性、
51、方法、事件。 第第1个被创建的命令按钮组对象名:个被创建的命令按钮组对象名:commandgroup1 1. 属性选介属性选介 (1)buttoncount:设置组容器所包含的:设置组容器所包含的 命令按钮的个数命令按钮的个数 (2)value:若为数值时,单击组控件内某个按钮,:若为数值时,单击组控件内某个按钮, value将返回此命令按钮的顺序号;将返回此命令按钮的顺序号; 若为字符,单击组控件内某个命令按钮,若为字符,单击组控件内某个命令按钮,value将返将返 回此命令按钮的回此命令按钮的caption属性值。属性值。 visual foxpro 漳州师范学院计算中心 52 2. 命令
52、按钮组生成器命令按钮组生成器 (1)按钮选项卡按钮选项卡 buttoncount:指定所包含命令按钮个数:指定所包含命令按钮个数 表格:包括各命令按钮的表格:包括各命令按钮的caption和和picture (2)布局选项卡布局选项卡 布局按钮、按钮间隔、边框样式布局按钮、按钮间隔、边框样式 visual foxpro 漳州师范学院计算中心 53 3. 命令按钮组与命令按钮命令按钮组与命令按钮 按钮组容器按钮组容器及其所包含的及其所包含的命令按钮命令按钮有各自独立的属有各自独立的属 性、方法、事件性、方法、事件 (1)容器组及命令按钮的编辑容器组及命令按钮的编辑 命令按钮组命令按钮组的编辑(属
53、性、方法、事件)的编辑(属性、方法、事件)单击单击 组容器中的组容器中的命令按钮命令按钮的编辑(属性、方法、事件)的编辑(属性、方法、事件) 属性窗口中选择属性窗口中选择 或或 单击单击 编辑编辑 选定命令按钮选定命令按钮 (2)为组容器中的某些命令按钮设置共同属性,如为组容器中的某些命令按钮设置共同属性,如 caption属性值。属性值。 单击单击 编辑编辑 shift+选定命令按钮选定命令按钮 visual foxpro 漳州师范学院计算中心 54 (3)click事件的区别事件的区别 若命令按钮组及其所包含的各命令按钮分别设置了若命令按钮组及其所包含的各命令按钮分别设置了 click事件
54、代码,则用户单击组内空白处,事件代码,则用户单击组内空白处,组控件组控件的的 click事件被触发;而若单击组内某命令按钮,则该事件被触发;而若单击组内某命令按钮,则该 命令按钮命令按钮的的click事件被触发。事件被触发。 若仅命令按钮组设置了若仅命令按钮组设置了click事件,则用户不论单击组事件,则用户不论单击组 控件的何处,都触发组控件的控件的何处,都触发组控件的click事件事件 visual foxpro 漳州师范学院计算中心 55 例例8.8在学生成绩数据库中增加在学生成绩数据库中增加user.dbf表,存表,存 放账号与密码,表结构:放账号与密码,表结构:user: 账号账号
55、c(6)、密码、密码 c(6),要求设计如图表单实现按账号核对密码。密,要求设计如图表单实现按账号核对密码。密 码由数字字符构成。码由数字字符构成。表单文件表单文件p8-8.scx combo1combo1的的validvalid事件代码事件代码 if this.listindexif this.listindex=0=0 messagebox messagebox(没有此账号,请重新输入,或从组合框中选择没有此账号,请重新输入,或从组合框中选择) this.displayvalue this.displayvalue= elseelse thisform thisform.text1.ena
56、bled=.t.text1.enabled=.t. endifendif commandgroup1commandgroup1的的clickclick事件代码事件代码 do casedo case case this.value=2case this.value=2 thisformthisform.release.release case this.value=1case this.value=1 if alltrim(thisform.text1.value)=alltrim if alltrim(thisform.text1.value)=alltrim(user.(user.密码密码)
57、 ) messagebox messagebox(欢迎使用本系统欢迎使用本系统) else else messagebox messagebox(密码错不能使用本系统!密码错不能使用本系统!) quitquit endif endif endcaseendcase thisformthisform.release.release visual foxpro 漳州师范学院计算中心 56 8.3.3 复选框复选框(checkbox) 复选框有两种状态:复选框有两种状态:.t.、.f. 。 复选框外形有两种:方形、按钮复选框外形有两种:方形、按钮 第一个创建的复选框名为第一个创建的复选框名为chec
58、k1 1. 属性选介属性选介 (1)style:属性设置如表:属性设置如表 style属性值属性值外外 观观选定状态选定状态 0-标准标准方框,其右侧显示方框,其右侧显示caption文本文本出现复选标记出现复选标记 1-按钮图形按钮图形 指定指定picture图形图形 图形按钮,图形按钮,caption文本在图形文本在图形 下方下方 按钮呈按下状按钮呈按下状 1-按钮图形按钮图形 picture未设置未设置 文本按钮,文本按钮,caption文本居中文本居中 visual foxpro 漳州师范学院计算中心 57 (2)value:设置或返回复选框选定状态。:设置或返回复选框选定状态。 若若
59、value设置为数值型:设置为数值型: 0 未选定、未选定、1 选定、选定、2 灰色灰色 若若value设置为逻辑型:设置为逻辑型: .f. 未选定、未选定、.t. 选定选定 (3)controlsource :设置复选框数据源,常绑定逻辑:设置复选框数据源,常绑定逻辑 型字段型字段 2. 事件选定事件选定 click:单击复选框时触发:单击复选框时触发 interactive change:复选框值发生改变时触发:复选框值发生改变时触发 visual foxpro 漳州师范学院计算中心 58 8.3.4 选项按钮组选项按钮组 选项按钮组是包含选项按钮的容器选项按钮组是包含选项按钮的容器(多选
60、一多选一),当选,当选 定某个按钮,其他的选项按钮自动便成为选定。定某个按钮,其他的选项按钮自动便成为选定。 1. 属性选介属性选介 (1) style:决定选项按钮的外观:决定选项按钮的外观 style属性值外 观选定状态 0-标准圆圈,其右侧显示caption文本出现单选标记 1-按钮图形 指定picture图形 图形按钮,caption文本在图形 下方 按钮呈按下状 1-按钮图形 picture未设置 文本按钮,caption文本居中 visual foxpro 漳州师范学院计算中心 59 (2)value:要区分选项按钮组与组内的选项按钮:要区分选项按钮组与组内的选项按钮 各自的属性各
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汽轮机辅机值班员安全培训考核试卷含答案
- 2025年网络空间安全考试试题及答案
- 2025年上半年教师资格考试小学教育教学知识与能力真题及答案
- 2025年计算机一级Msoffice考试信息解析试题及答案
- 2025年教师资格证考试《综合素质》试题(中学)真题及答案
- 2026及未来5年中国智能小区停车场管理系统数据监测研究报告
- 2026及未来5年中国时装带数据监测研究报告
- 2024下半年幼儿园教资笔试真题+参考答案(科目一+科目二)
- 2026浙江省住院医师规范化培训结业理论考核(儿外科)历年参考题库含答案详解3卷
- 2026注册城乡规划师资格考试(城乡规划原理)历年参考题库含答案详解3卷
- 湖南省建设工程消防技术标准疑难问题解析
- Unit7单元整体教学设计八年级英语下册(人教版)
- 《电气工程基础》课件第1章
- 14J936变形缝建筑构造
- TZWEIA 002-2023 水利水电工程接地用铜绞线技术条件
- 郝万山教授要求必背的112条《伤寒论》论原文
- 河南省新乡市第二十二中学2023-2024学年九年级上学期10月月考数学试题
- 部编版六年级语文上册教学计划及教学进度表
- 工程制图习题及答案
- 压铸模具保养规定
- 2023年公务员体检表
评论
0/150
提交评论