1、控件,教学目的与要求 了解常用控件的使用; 掌握控件的常用属性; 掌握控件的常用事件; 掌握控件的常用方法;重点与难点 掌握常用属性名称、含义及设置方法; 编写与事件相关的程序代码;,6.4 控件的创建与使用,控件放在表单上的用以显示数据、执行操作或使表单更易阅读的一种图形对象。VFP控件主要有:标签、文本框、编辑框、微条框、复选框、选项按钮、列表框、组合框、表格、页框、命令按钮、命令按钮组、线条、图象、形状等。,VFP中控件主要有:,标签文本框编辑框命令按钮命令按钮组选项按钮组复选框微条框,列表框组合框表格页框计时器线条形状,向表单添加控件,根据任务选择控件类型。利用“表单控件工具栏”在表单
2、上添加控件。进行一些属性的设置、事件处理代码和方法程序代码的编写。,选择合适的控件,利用选项按钮组、列表框、下拉列表框、复选框等控件,可以为用户提供预先设定的选项;利用文本框、编辑框、组合框等控件可以让用户输入预先不能确定的数据;利用微条框控件可以让用户输入给定范围的数值型数据;利用命令按钮或命令按钮组可以让用户进行特定的操作;利用计时器控件可以在给定的时间间隔内执行指定的操作;利用表格控件可以操作多行数据;利用标签、文本框、形状、线条、图形、图象等控件可以显示信息等。,6.4.1 标签(label),用以显示文本的图形控件,在表单运行时其文本不能被用户直接修改,通常用于显示提示信息。,常用属
3、性,Caption : 指定在对象标题中显示的文本,属性值为字符串,允许包含的最大字符数目为256个。BackStyle:指定显示的标签是否透明。AutoSize:决定是否可以自动地调整标签的大小。WordWrap:确定标签上显示的文本能否换行。Fontsize:字体大小Fonename:字体名称Forecolor:前景色Backcolor:背景色,标签设计实例1,标签设计实例2,初始,左击鼠标,右击鼠标,6.4.2 文本框与编辑框,文本框通过文本框可以显示、输入或编辑保存在表中的非备注型字段的数据。,常用属性,ControlSource指定与文本框绑定的数据源Value指定文本框的当前选定的
4、值。PasswordChar用设定的字符来显示用户输入的值,而实际输入保存在value属性中。InputMask指定文本框中数据的输入格式和显示方式。Format指定控件的Value属性的输入和输出格式,即指定数据输入的限制条件和显示格式。ReadOnly 指定控件是否只读。,常用事件和方法,事件:GotFocus对象接受焦点时发生KeyPress用户按下或释放键时发生Valid失去焦点之前发生LostFocus对象失去焦点时发生方法:SetFocus设置输入焦点,文本框设计实例1:输入数据,文本框设计实例2:通过设定数据源属性用文本框显示表中的数据。,文本框设计实例3:指定文本框输出计算结果
5、。,编辑框,编辑框的用途与文本框相似,它可以输入或编辑长字段或备注型字段,自动换行或并能用光标移动键、操作滚动条来浏览文本。编辑框的ScrollBars属性决定编辑框是否有垂直滚动条。,6.4.11 命令按钮与命令按钮组,命令按钮通常用来启动一个事件以完成某种功能。,常用属性:,Caption:指定在命令按钮上显示的文本。Picture:指定命令按钮的图片。Default:设置为.T.,则在所在表单活动时,可按enter键运行其click事件代码。Cancel:设置为.T.,则在所在表单活动时,可按Esc键运行其click事件代码。 。Enabled:指定是否响应用户引发的事件。,命令按钮常用
6、事件:,Click:用户单击鼠标左键事件。Rightclick:用户单击鼠标右键事件。,1、利用命令按钮来实现浏览记录的功能,2、利用命令按钮来执行追加记录的功能,命令按钮组:,常用属性:Buttoncount:决定命令按钮组中按钮的数目。可以通过button(i)来访问各个按钮。BorderStyle:指定边框样式。Value:指定控件的当前状态,默认为1。(注意:值为字符型数据,运行时其值为所选命令按钮上显示的文本),按钮组的实例:,组和单个按钮的关系:,如果只单击命令按钮组,而没有单击某个按钮,value属性的值仍为上次选定的命令按钮。如果为某个按钮的click事件编写了代码,当选择这个
7、按钮时,执行该按钮的相应代码,而不是组的click事件代码。,6.4.3 列表框 6.4.4 组合框,列表框主要用于显示一组预设的值,可以通过滚动条操作浏览列表信息,用户从列表框中可以选择需要的数据。组合框类似列表框和文本框的组合。 功能与列表框完全相同,区别在于组合框在表单上仅需较小的空间,除Style属性外,组合框的属性和方法与列表框几乎相同。,常用属性,ColumnCount:指定列的个数。 RowSourceType和RowSource:指定列表框中列表的数据来源RowSourceType决定数据源类型(P191表6-9) RowSource指定数据源ControlSource:指定列
8、表框所绑定的数据源,即指定列表中选择的值保存在何处。Value:列表框或组合框中选定项的内容,当有多列时,Value的值由BoundColumn决定BoundColumn:确定列表框中的哪个列绑定到控件的Value属性。ListCount:显示列表框中条目的数量Selected:指定条目是否被选定。Sorted:指定条目是否按字母顺序自动排序。组合框的Style属性控制是否允许用户输入数据。,常用事件和方法,事件 InteractiveChange当用户用键盘或鼠标改变列表框中的值(选项)时发生。方法Clear方法:清除列表中所有的条目AddItem方法:向列表框中添加一个条目RemoveIt
9、em方法:从列表框中删除一个条目Requery方法:重新运行查询更新列表框中的条目,应用实例之一:,根据列表框中选中的数据,用组合框显示相应的数据。,应用实例之二:从列表框或组合框中选择文本,应用实例之三:向列表框或组合框中添加文本,6.4.5 选项按钮组OptionGroup,是包含选项按钮的容器,允许用户从中选择一个按钮。选定某个按钮将释放先前的选择,同时使选择成为当前值,选项按钮旁的圆点指示当前的选择。是一个绑定型控件。,常用属性,Buttoncount 设定选项按钮组中的选项按钮数目。 Value 表明用户选定了哪一个按钮。 各个按钮的Caption属性 用来显示各个选项的文本信息,常
10、用事件,Click,6.4.6 复选框CheckBox,可以用来指定或显示一个逻辑状态:真/假、开/关、是/否。当不能准确表示真假时,可以使用NULL值。是一个绑定型控件。,常用属性,Caption设置复选框的显示信息Alignment控制信息左边或右边显示,常用事件,Click,6.4.7 微调框(Spinner),微调框可以实现在一个数值范围内进行选择的功能。是一个绑定型控件。,常用属性,Value指定微调控件的当前值。KeyBoardHighValueKeyBoardLowValue指定从键盘输入微调框的最大/最小值。SpinnerHighValueSpinnerLowValue指定通过
11、单击微调按钮输入的最大/最小值。Increment指定单击上下箭头时,微调控件中数值的增加量或减小量,默认值为1.00,6.4.8 表格Grid,一个按行和列显示数据的容器对象。是绑定型控件。,常用属性,RecordSourceRecordSourcetype用来设置表格的数据源ColumnCount设置表格中的列数DeleteMark指定在表格中是否出现删除标记列DynamicFontName、 DynamicFontSize DynamicForeColor等属性设置动态字体、字号、颜色等,利用表格显示一对多关系中的子表,设置动态字号、颜色,6.4.9 计时器(Timer),在应用程序中用
12、来处理复发事件的控件。运行时不可见。,常用属性,Enabled当该属性值为.T.时,计时器开始工作;否则会挂起计时器的运行。Interval用于指定计时器控件的Timer事件之间的事件间隔,单位为毫秒。Interval为0时,计时器将不响应Timer事件。,常用事件和方法,事件Timer 方法Reset 重置计时器控件,让它从0开始。,应用实例:显示系统时间,6.4.10 线条(Line)和形状(Shape),线条控件用于创建水平、竖直或对角线条。形状控件用于创建各种图形:矩形、椭圆、圆等。,常用属性,线条控件的主要属性:BorderWidth 指定线条的线宽BorderStlye 指定线条的
13、线型LineSlant 指定线条倾斜方向(、/)形状控件的主要属性:Curvature 决定显示什么样的图形(099)FillStlye 指定用来填充图形状的图案SpecialEffect 指定控件的不同样式选项(三维或平面),6.4.12 页框控件,是包含页面的容器对象。页框定义了页面的总体特征:大小和位置,边框类型、哪个页面是活动的等。对页面所在的表单使用Refresh方法时,只刷新当前活动的页面。,页框的常用属性,PageCount指定页框中包含的页面数,默认值为2。Tabs确定页面的选项卡是否可见,默认值为.T.。TabStyle指定选项卡两端或非两端对齐。,可以从页框的快捷菜单中选择
14、“编辑”命令,将页框激活。,页面的常用属性,BackColor可以为每一页指定不同的颜色。Caption为每一页加上标题。页框的TabStretch属性为1(裁剪),显示能放入选项卡中的标题字符,其余的不显示。为0,(堆积),将选项卡层叠起来,以便所有选项卡中的整个标题都显示出来。,将控件添加到页面上,添加到页面上的控件只有在页面处于活动状态才可见。有如下两种方法:在属性对话框中选择需要操作的页面,在其上添加控件。利用页框快捷菜单中的“”编辑“命令,选择需要的页面,后添加控件。”,在程序中切换页面,直接在页框的 属性窗口中设置ActivePage 属性(默认值为1)。在程序中使用ActiveP
15、age属性来激活一个页面。,应用实例,6.4.14 OLE容器控件和OLE绑定型控件,OLE 对象链接与嵌入。嵌入用于将一个对象的副本从一个应用程序插入到另一个应用程序中。对象副本嵌入后将不再与原来的对象之间有任何联系。链接表示在源文档与目标文档之间的一种连接。链接对象保存了来自源文档的信息。并对两文档之间的连接进行维护。当源文档中的信息发生变化时,这种变化将在目标文档中体现出来。OLE控件目前称为ActiveX 控件。具有.ocx的扩展名。,1、OLE容器控件,2、OLE绑定型控件,6.5 增强控件易用性的方法,6.5.1 设置访问键,访问键能在表单中任何地方通过按Alt键和访问键来选择一个控件(也叫热键)。在Caption属性中设置,设置方法为:在访问键的字母前加一个,如:Q,6.5.2 设置控件的Tab键次序,指在表单上按Tab键时,焦点从一个对象移向另一个对象的次序。系统默认的Tab键的次序是控件添加到表单中的次序。,6.5.3 设置工具提示文本,每一个控件都有ToolTipText属性,当鼠标指针停留在控件上时,将显示该属性指定的文本。表单的ShowTips属性决定是否显示工具提示文本。,