VisualFoxPro程序设计第六章表单设计

上传人:痛*** 文档编号:195235448 上传时间:2023-03-15 格式:PPT 页数:103 大小:392KB
返回 下载 相关 举报
VisualFoxPro程序设计第六章表单设计_第1页
第1页 / 共103页
VisualFoxPro程序设计第六章表单设计_第2页
第2页 / 共103页
VisualFoxPro程序设计第六章表单设计_第3页
第3页 / 共103页
点击查看更多>>
资源描述
什么是表单 设计良好的界面可以使用户更方便地掌握和使用应用程序,Visual FoxPro为数据库管理提供了一个用于浏览、查询、输入和修改等操作数据的界面设计工具,所设计的界面成为表单或窗体(Form)。表单设计是Visual Foxpro可视化设计的精华所在,是Visual Foxpro应用程序设计中最重要的部分之一。本章的主要内容:6.1 案例引入6.2 表单设计基础(重点)6.3 利用表单设计器设计表单(重点)6.4 表单控件设计(重点、难点)6.1 案例引入 在学习表的操作的时候,我们对表中数据的操作一般都是在Visual FoxPro提供的界面中进行,例如我们在表的浏览窗口中浏览表中记录,修改表中原有数据,并可以追加新的记录。我们如何脱离Visual FoxPro系统提供的操作界面,按照自己的需要定制更加友好的数据输入和输出界面呢?这就需要用到表单(Form)。Visual FoxPro中的表单类似于Windows中的窗口与对话框,利用表单、表单中的控件以及程序代码,可以输出数据、接受用户的数据输入,还可以对数据进行各种处理。例如,我们要处理学生档案表(xsda.dbf)中的数据,就可以以学生档案表为数据源建一个表单,通过这个表单,可以十分方便地对学生档案表中的数据进行处理。在这一表单界面中,用户只要单击界面上的各个按钮,就可以马上实现相应操作,单击“上一条记录”、“下一条记录”按钮可以移动记录指针,单击“增加”按钮可以添加新的记录,单击“编辑”按钮可以编辑当前记录,如图6-2所示。图6-2 通过表单来处理学生档案表中的数据6.2 表单设计基础 1.使用“表单向导”创建表单 Visual FoxPro提供了两种表单向导来帮助用户创建表单:“表单向导”适合于创建基于一个表的表单。“一对多表单向导”适合于创建基于两个具有一对多关系的表的表单。调用表单向导有两种方法:方法一:1)在“项目管理器”中选择“文档”选项卡,选择其中的“表单”,如图6-3所示。2)单击“新建”按钮,系统弹出“新建表单”对话框,如图6-4所示。3)单击“表单向导”图标按钮,打开“向导选取”对话框,如图6-4所示。4)从列表框中选择要使用的向导,然后单击“确定”按钮。5)接下来,系统打开相应的对话框,一步一步地向用户询问一些简单的问题,并根据用户的回答自动创建表单。方法二:菜单方式调用。在“文件”菜单中选择“新建”选项,然后在打开的“新建”对话框中选择“表单”文件类型并单击“向导”按钮。或者在“工具”菜单中的“向导”子菜单中选择“表单”选项。2.使用“表单设计器”(Form Designer)创建表单 可以使用以下三种方法中的一种来调用表单设计器:方法一:在项目管理器中调用。1)在“项目管理器”中选择“文档”选项卡,选定“表单”选项。2)单击“新建”命令按钮,系统弹出“新建表单”对话框。3)单击“新建表单”按钮。方法二:菜单方式调用。1)选择“文件”菜单中的“新建”选项,打开“新建”对话框。2)选择“表单”文件类型,然后单击“新建文件”按钮。方法三:命令方式调用。在命令窗口中输入CREATE FORM命令。无论采用上面哪种方法,系统将打开“表单设计器”窗口,如图6-5所示。图6-5 表单设计器窗口 3.使用“表单生成器”(Form Builder)来创建表单 在“表单设计器”的环境下,也可以调用表单生成器(如图6-6所示)。其方法有以下三种:方法一:选择“表单”菜单中的“快速表单”选项。方法二:单击“表单设计器”工具栏中的“表单生成器”按钮。方法三:右键单击表单窗口,然后在弹出的快捷菜单中选择“生成器”选项。“表单生成器”对话框如图6-6所示,其中,有两个选项卡:“字段选取”和“样式”。6.2.2 保存表单保存表单 若要保存设计好的表单,可以在“表单设计器”中选择“文件”菜单中的“保存”选项,然后在打开的对话框中指定表单文件的文件名。设计的表单将被保存在一个表单文件(.scx)和一个表单备注文件(.sct)中。6.2.3 修改表单 修改表单的方法有如下三种:方法一:在“项目管理器”中修改。1)在“项目管理器”中选择“文档”选项卡;2)如果表单类文件没有展开,单击“表单”图标左边的加号;3)选择需要修改的表单文件,然后单击“修改”按钮。方法二:菜单方式调用。1)选择“文件”菜单中的“打开”选项;2)在“打开”对话框中选择需要修改的表单文件。方法三:命令方式调用。在命令窗口中输入MODIFY FORM。6.2.4 运行表单 根据表单文件和表单备注文件的内容产生表单对象就是运行表单,可以采用如下四种方法来运行表单文件:方法一:在项目管理器中运行。1)在“项目管理器”中选择要运行的表单;2)单击“项目管理器”窗口里的“运行”按钮。方法二:在表单设计器环境下选择“表单”菜单中的“执行表单”选项,或单击工具栏上的“运行”按钮。方法三:选择“程序”菜单中的“运行”选项,打开“运行”对话框。在对话框中指定要运行的表单文件,单击“运行”按钮。方法四:命令方式调用。在命令窗口中输入以下命令:DO FORM NAME WITH,LINKED NOSHOW 6.3 利用表单设计器设计表单利用表单设计器设计表单 6.3.1 表单设计器简介表单设计器简介 如果要完全按照自己的要求来设计表单,就需要用到表单设计器。表单设计器是系统提供给用户用来设计表单的工作界面,利用它,用户可以用一种可视化的方式来建立和修改表单。1.打开表单设计器 通过如下方法中的任何一种,都可以打开表单设计器。1)单击Visual FoxPro系统工具栏上的“新建”按钮,在新建表单对话框选择“新建表单”;2)在“项目管理器”中选定“表单”,并选择“新建”按钮;3)在命令窗口输入命令CREATE FORM表单文件名;4)在命令窗口输入命令MODIFY FORM表单文件名。2.表单设计器工作界面图6-7 表单设计器的常用工具 3.表单的基本属性 1)表单的基本属性 表单的基本属性如表6-2所示。表单的常用属性说明如表6-3所示。2)表单的基本事件 表单的常用事件如表6-4所示。3)表单的基本方法 表单的基本方法如表6-5所示。4表单基本属性的设置方法 1)利用属性窗口进行设置 打开“属性”窗口的基本方法:用鼠标右击设计器窗口中的新表单,在弹出的快捷菜单中选择“属性”菜单项,或直接单击“窗体设计器”工具栏中的“属性窗口”按钮,便可出现“属性”窗口,(如图6-11所示)。设置属性的方法:先在属性列表中选定某个属性名,然后在列表上方的编辑框中直接输入或重新选定一个属性值即可。有的属性可能需要单击属性编辑框右侧的编辑按钮,在弹出的对话框中进行设置(如颜色、图片等)。2)以代码方式设置属性 可在表单或控件的事件代码中设置表单的相关属性。如:This.BackColor=RGB(0,0,255)3)鼠标拖动设置 对于表单的Height(高度)和Width(宽度)属性,可通过鼠标拖动的方式来设置。5设置表单的数据环境 数据环境是一个容器类对象。用户可在数据环境中预定义表单中各控件的数据来源。一旦将数据表或视图添加到表单的数据环境中,它们就会随着表单设计器的打开或表单的运行而自动打开,当关闭或释放表单时,它们也会随之关闭。“属性”窗口中,对象的Control Source(控件的数据源)属性与数据环境中的所有字段相连。1)数据环境常用属性如下:AutoOpenTables:当打开或运行表单时,控制是否打开数据环境中的表或视图,默认值为“真”。AutoCloseTables:当关闭或释放表单时,控制是否关闭由数据环境指定的表或视图,默认值为“真”。InitialSelectedAlias:运行表单时选定的表或视图,如果没有指定,在运行时首先加到“数据环境”中的临时表最先被选中。2)启动数据环境设计器 利用数据环境设计器能可视化地创建、修改表单的数据环境。打开数据环境设计器的方法:启动“表单设计器”后,在选择“显示”菜单中的“数据环境”命令,打开数据环境设计器窗口。第一次打开数据环境设计器窗口时,要求打开一个数据表。可以向数据环境设计器窗口添加、移去数据表或者视图。此外,还可在表单的右键快捷菜单中选择“数据环境”命令和“表单设计器”工具栏中选择“数据环境”按钮。3)向数据环境中添加、移去数据表或视图 在数据环境设计器窗口中右击,从弹出的快捷菜单中可以选择“添加”(如图6-12所示),来添加表或视图;选中已经添加进数据环境的表或视图,右击,从弹出的快捷菜单中可以选择“移去”,可以移去表或视图。4)设置数据表之间的关系 如果两张数据表已经建立永久关系,则将这两张数据表添加进数据环境时,将自动得到一个临时关系。如果添加进“数据环境”中的两张数据表事先没有建立永久关系,可以在“数据环境设计器”中为它们设置临时关系,方法是将主表字段拖动到子表相应的索引标志上,或者使用命令代码段来实现。5)直接拖放数据至表单 可以将数据直接从数据环境拖到表单中,这样可以直观、快速得到用于处理这些数据的对象,例如,将一个字符型字段从数据环境拖到表单中,可以得到一个标签和文本框,用于显示提示信息和字段中的数据;将一张数据表从数据环境拖到表单中,可以得到一个表格。6)数据环境中对象的属性设置 数据环境默认的名字叫DataEnvironment,添加进来的数据表或视图默认的名字依次为:Cursor1,Cursor2,每一个Cursor对象的Alias属性就是它所对应的数据表或视图,通过设置Cursor对象的Order属性,可以指定表的主控索引。6.向表单中添加控件 表单中可以有两类控件,一类是内容可以与后端的表、视图或查询中的字段或内存变量相关联的控件,称为绑定型控件;另一类是内容不与后端的表、视图或查询中的字段或内存变量相关联的控件,称为非绑定型控件。不同的控件,其功能是不同的,对于某个特定的任务,我们应当选择合适的控件来完成。添加控件的方法:1)使用“表单”菜单项中的快速表单向导添加控件。2)由数据环境直接添加控件。注意:字段类型与控件类型的对应关系。3)用“窗体控件”工具栏创建控件。7.设置控件的必要属性及编写事件代码 1)控件的通用属性 控件的通用属性如表6-7所示。2)设置控件的必要属性 使用代码设置对象属性一般可分为三种情况。(1)一条语句设置一个对象的一个属性。例如设置表单中文本框Text1的相关属性:This.Text1.Enabled=.T.&控件有效 This.Text1.Value=DATE()&显示当前日期 This.Text1.ForeColor=RGB(0,0,0)&黑色文本 This.Text1.BackColor=RGB(128,128,128)&灰色背景 (2)使用WITHENDWITH语法结构设置一个对象的多个属性。例如同样设置文本框的上述4个属性,可以使用如下语句:WITH This.Text1 Enabled=.T.Value=DATE()ForeColor=RGB(0,0,0)BackColor=RGB(128,128,128)ENDWITH(3)使用容器对象的SETALL方法设置容器中所有对象的同一属性。例如为了把表格控件中列对象的BackColor属性设置为红色,可以使用下列语句:Form1.Grid1.SetAll(“BackColor”,RGB(255,0,0),“Column”)8.在表单中调用对象的方法程序 在Visual FoxPro中对象一经创建,用户便可以在应用程序的任何一个地方调用这个对象的方法。调用对象方法的语法格式如下:Parent.Object.Method 例如下列语句调用方法程序来显示表单,并将焦点设置在文本框上:ThisFormSet.Form1.Show ThisFormSet.Form1.Text1.SetFocus 如果用户调用的方法程序含有参数,那么所需传递给方法程序的参数必须放在方法程序名后面的圆括号中。例如,Form1.Show(nStyle),将参数nStyle传递给Form1的Show方法程序代码。9.在表单中响应对象的事件 当用户的操作(鼠标动作或按键)激发了对象的某个事件,该事件中的过程代码将被执行。例如,当用户单击命令按钮时,命令按钮的Click事件过程代码将被执行。事件中的过程代码也可以在程序运行时由程序调用而激活,这时事件代码就如同一般过程一样。例如我们需要在关闭表单Form1前自动执行命令 按钮Command1的Click事件,我们可以在表单的卸载事件Destory中输入如下语句:This.Command1.Click()10.保存、修改、运行和关闭表单6.3.2 设计一个简单的表单设计一个简单的表单 下面我们使用表单设计器来设计一个只显示一行提示文字的表单实例。我们假定要在表单上显示的这行文字是“Visual FoxPro 程序设计”,并假定我们要求的表单大小为宽300像素,高150像素。1.进入表单设计器 单击Visual FoxPro系统主界面工具栏上的“新建”按钮,在“新建”对话框中选择文件类型为表单,再选择“新建文件”,就可以进入表单设计器。2.设置表单属性 如果进入表单设计器后属性窗口并未显示出来,只需要把鼠标指向表单后右击,从弹出的快捷菜单中选择“属性”,属性窗口就会出现。在属性窗口中找到表单的Width属性,将其设置为300,再单击 按钮确认,如图6-13所示。3.放入控件 如果在表单设计器界面上看不到表单控件工具栏,可以单击“显示”菜单,选择“表单控件工具栏”来调出表单控件工具。表单控件工具栏上的标签按钮,用来显示文本信息。我们单击这一工具,然后在表单上用鼠标拖出一个矩形区域,表示标签控件占据的位置,就将一个标签控件放置到了表单上,如图6-14所示。一般情况下,这个标签会有一个默认的名字,叫“Label1”,它显示的内容也是“Label1”。4.设置标签属性 决定标签显示内容的是它的Caption属性。现在已经有两个对象:表单Form1和标签Label1,要对标签进行属性设置的话,先要在属性窗口上部的组合框中选择对象为标签Label1,然后找到标签的Caption属性,将其设置为“Visual FoxPro 程序设计”这样一个字符串,过程如图6-15所示。5.保存并运行表单 表单设计完成后,单击系统工具栏上的存盘按钮,在存盘对话框中指定表单保存的位置和名称,即可将表单文件保存起来,表单文件的扩展名是“.scx”,我们输入表单存盘的主文件名为:exam1。存盘后,单击工具栏上的运行按钮,就可以运行表单,也可以用命令:DO FORM表单文件名 来执行表单。表单exam1运行后的界面如图6-15所示。6.修改表单 已经保存好的表单可以再次打开进行修改,方法是直接打开表单文件或是在命令窗口中输入命令:MODIFY FORM表单文件名 这样就会再次进入表单设计器,用户可以对原有的表单进行修改。6.4 6.4 表单控件设计表单控件设计 6.4.1 输出类控件输出类控件 1标签 标签(Label)是一个图形控件,常用于显示文本信息。标签在表单设计中常用于显示提示信息或说明信息。如果要在表单上创建一个标签控件,只需要单击控件工具栏中的标签按钮,然后在表单中合适的位置单击即可。一个标签最多可容纳256个字符。2.图象、线条与形状 创建图象(Image)的步骤如下:在表单上创建一个图象控件,在属性窗口选定Picture属性,并通过文本框右侧的对话按钮选定一个图象,该图象即显示在图象控件处。线条控件(Line)用于在表单上画各种类型的线条,包括斜线、水平线和垂直线。形状控件(Shape)是可以显示矩形、圆或椭圆的图形控件,这些图形不能直接修改。但是,因为形状控件包括很多其他控制具有的属性、事件和方法,所以形状控件能响应事件,并且在运行时可动态地修改。Curvature 属性决定显示什么样的图形,它的变化范围是 0 到 99。0 表示无曲率,用来创建矩形;99 表示最大曲率,创建圆和椭圆。例题6.1设计如图6-16所示的应用程序封面。6.4.2 输入类控件输入类控件 1.文本框 文本框(Text)是一类基本控件,是最常用的控件。主要用于数据表中某些数据的输入输出或编辑,以及从窗口给内存变量赋值等操作。文本框有自己的数据源,通常是以表的一个非备注字段或一个内存变量作为自己的数据源。1)文本框的常用属性、事件和方法 如果设置了文本框的ControlSource属性,则显示在文本框中的值将保存在文本框的Value属性中,同时保存在ControlSource属性指定的变量或字段中。文本框的常用属性如表6-11所示。2)文本框生成器 文本框生成器是设置属性的向导,使用生成器为控件设置常用的属性非常方便。3)在文本框中接受用户密码 在应用程序设计中,经常需要获得某些安全信息,如密码。这时需要设置文本框的passwordchar属性为“*”或其它一些字符,用文本框的Value和Text来接收这一信息,而不在屏幕上显示其实际内容。参见例题6.8,如图6-30所示。2.列表框 列表框(List)主要用来显示选择项,并且维护其ControlSource属性所结合的数据。列表框控件可同时显示图形与项目文字,可以多重选择,并具有移动项目位置的功能。列表框和下拉列表框(即Style属性为2的组合框控件)中包含了一些选项和信息的可滚动列表。列表框中任何时候都能看到多个项,下拉列表框中只能看到一个项,可单击向下按钮来显示可滚动的下拉列表框。1)列表框的常用属性和方法程序 列表框的Value属性可以是数值型,也可以是字符型,默认值为数值型。如果RowSource是字符型值,并且要让Value属性反映列表中选定的字符串,则应将Value属性设置为空字符串。(1)列表框的常用属性 常用列表框的属性如表6-13所示。(2)列表框中常用的方法有:AddItem:当RowSourceType属性为0(默认值)或1时,给列表框添加一项。RemoveItem:当RowSourceType属性为0(默认值)或1时,从列表框中删除一项。Requery:当RowSource中的值改变时更新列表。与其他控件不同,使用列表框的Refresh方法无法刷新列表框数据源。2)列表框中的数据源类型 列表框中的数据源类型由RowSourceType属性决定,该属性有以下几种常用设置:(1)RowSourceType为0:无数据源,需通过编程向列表框中添加项。(2)RowSourceType为1:可用RowSource属性指定多个要在列表框中显示的值。(3)RowSourceType为2:别名,可以在列表框中包含打开表的一个或多个字段的值。字段的个数由列表框的ColumnCount属性决定。如果ColumnCount为0或1,则列表框将显示表中的第一个字段;如果ColumnCount为2,列表框将显示表中的前两个字段;依次类推。(4)RowSourceType为3:SQL语句,在RowSource属性中应包含一个SELECT-SQL查询语句。(5)RowSourceType为4:查询,可以将查询的结果填充到列表框,查询是在查询设计器中设计的。(6)RowSourceType为5:数组,即列表框中的项取自数组。RowSource属性可以是表单或表单集中的数组属性,也可以是应用查询中的其它数组属性。(7)RowSourceType为6:字段,列表项是一个字段或用逗号分隔的一系列字段。与RowSourceType值为2不同,此时,允许字段不按表中的顺序来显示。(8)RowSourceType为7:文件,将用当前目录下的文件填充列表,并允许选择不同的驱动器和目录。此时RowSource属性可设置为列表中显示的文件类型。3)列表框的基本操作 列表框包含以下基本操作:(1)使用列表框的计数属性:ListCount。引用Listcount属性可得到列表框中的项目总数。如要将List1中的列表项数目显示在 Text1文本框中,只需在表单的Init事件中添加以下代码:This.text1.value=This.list1.listcount (2)访问列表框中的某一项可使用Listn(3)添写列表框中最顶端的数据项 若用户需将列表框中的最顶端数据项设置为默认选择项,则可使用列表框的Topindex属性,在列表框的Init事件中增加以下代码:var=This.Topindex This.Value=This.Listvar 或 This.Value=This.ListThis.Topindex (4)确认某一项被选中可使用Selected属性。例如,选中第二项,其代码为:Thisform.List1.Selected2=.T.4)列表框中多选项的选择 在缺省情况下,一次只能选定列表框中的一项,但通过修改MultiSelect属性为真(.T.),使得用户能够同时选择列表框中的多个列表项。例题6.4一个列表框列出一组学生信息,选择其中的多名学生,用另一个列表框显示所选的学生名单。允许重选,能正常结束。如图6-23所示。操作步骤如下:1新建表单Form1。2打开表单的“数据环境设计器”窗口,将课程表xsda.dbf添加到表单中。3在表单中的合适位置分别添加如图6-22所示的2个列表框控件list1、list2,2个命令按钮,其部分属性值的设置如表6-13示。4在表单form1的 Init事件的代码窗口输入代码:thisform.list1.columncount=5&五列,有几个字段就有几列 5在列表框List1的Interactivechange事件的代码窗口输入代码:ThisForm.List2.AddItem(This.Value)Thisform.List2.Requery 6在命令按钮Command1的Click事件的代码窗口输入代码:for n=ThisForm.List2.Listcount to 1 step-1 ThisForm.List2.RemoveItem(n)endfor 7在命令按钮Command2的Click事件的代码窗口输入代码:ThisForm.Release 8保存表单。图6-23 列表框应用示例的设计界面 图6-23 列表框应用示例运行结果 3.组合框 组合框(Combo)兼有列表框与文本框的功能,其功能和列表框类似,不同之处是列表框任何时候都显示它的列表,而组合框平时只显示一项,当用户单击它的向下按钮后才显示下拉列表。一般当选项很少时,用组合框,当选项较多时,用列表框。组合框和列表框的主要区别在于:(1)对于组合框来说,通常只有一个条目是可见的。用户可以单击组合框上的下拉箭头按钮打开条目列表,以便从中选择。(2)组合框不提供多重选择的功能,没有MultiSelect属性。(3)组合框有两种形式:下拉组合框(Style属性为0)和下拉列表框(Style属性为2)。对下拉组合框,用户既可以从列表中选择,也可以在编辑区输入。对下拉列表框,用户只可从列表中选择。组合框又分为下拉组合框(组合框的Style属性值为)和下拉列表框(组合框的Style属性值为2),前者既可以在列表中选项,也可以在组合框中输入一个值,而后者和列表框一样只能在列表中选项。组合框的常用属性如表6-15所示。2)将数据项添加到下拉组合框中 用户在使用列表框和下拉列表框时,只能选择其中的选项,不能交互输入新数据或进行编辑,而下拉组合框却可以。为了使用户能够直接在下拉组合框中输入数据,应进行如下设置:(1)设置组合框的以下属性值:Style属性为:0 RowSourceType属性为:0(无)RowSource属性为:(无)(2)在组合框的Valid事件的方法程序中使用AddItem方法添加所需的文本,代码为:This.AddItem(This.Text)例题6.5学生档案表xsda.dbf中,通过下拉组合框输入学生的学号查询并显示学生的姓名、性别、出生日期、专业班级和简历等信息。如图6-25所示。图6-25 组合框应用示例的运行结果 操作步骤如下:1新建表单Form1。2按图在表单中加入五个文本框、1个组合框Combo1,1个命令按钮Command1和1个标签label1,如图6-24所示,其部分属性如表6-16所示。3打开表单的“数据环境设计器”窗口,将学生档案表xsda.dbf添加到表单中。4在“数据环境设计器”窗口,将学生档案表xsda.dbf中的字段姓名、性别、出生日期、专业班级和简历分别拖到表单中的合适位置,即分别添加了如图6-24所示的标签控件和对应的文本框控件、编辑框控件,其中文本框和编辑框的ReadOnly属性均设置为.T.5在表单Form1的Init事件的代码窗口输入代码:*让表单运行后,文本框、编辑框的值显示为空 go bottom skip ThisForm.Refresh 6在组合框Combo1的InteractiveChange事件的代码窗口输入代码:locate for xsda.学号=This.value ThisForm.Refresh 7在命令按钮Command1的Click事件的代码窗口输入代码:thisform.release 8保存表单。4编辑框 编辑框(Edit)与文本框一样,可以接受数据的输入/输出,但编辑框只能接受字符型数据。编辑框一般用来编辑长字段或备注型字段,允许自动换行,并能使用箭头键、PageUp和PageDown键以及滚动条来浏览文本。)编辑框常用属性 编辑框的属性与文本框类似,表6-17列出了编辑框常见的属性。例题6.6 设计一表单如图6-26所示,使用编辑框修改学生档案表“xsda.dbf”的“简历”字段的内容。在文本框中输入学生的学号,若未找到该学号,则给出相应的提示信息,让用户重新输入;若找到,则显示学生姓名、班级和简历,单击“修改”按钮可以修改简历。图6-26编辑框应用示例 微调控件(Spinner)微调控件(Spinner)可以接收给定范围内的数值输入。除了能够用鼠标单击控件右边向上和向下的箭头来增减其当前值外,还能像编辑框那样用键盘直接输入数值数据。)微调控件的常用属性 微调控件的常用属性如表6-19所示。)微调非数值型的值 微调控件值一般为数值型,可利用微调控件和文本框来微调多种类型的数值。例题6.7 如图6-29所示,设计控件使用户可微调一定范围的日期。图6-29 微调控件使用实例设计界面和运行结果 操作步骤如下:1在表单上放置一个标签Label1,设置其Caption属性为“日期”。2在表单上放置一个文本框Text1,设置其Format属性为“D”(数据类型为日期型)。3在表单上放置一个微调控件Spinner1,调整微调控件的大小,使其只显示按钮。用户可使用Shift+箭头键小间距地调整按钮的高度和宽度,使其与文本框相配。4在表单的Init事件中编写如下代码,使文本框显示系统当天的日期:This.Text1.Value=Date()5在微调控件的UpClick事件中编写如下代码,表示当单击向上按钮时文本框显示的日期减1:Thisform.Text1.Value=Thisform.Text1.Value-1 Thisform.refresh 6在微调控件的DownClick事件中编写如下代码,表示当单击向下按钮时文本框显示的日期加1:Thisform.Text1.Value=Thisform.Text1.Value+1 Thisform.refresh6.4.3 控制类控件控制类控件 命令按钮 命令按钮控件(Command)主要用来控制程序代码的执行、操作。在表单中添加具有不同功能的命令按钮,供用户选择各种不同的操作。如关闭表单、在表中移动记录指针、保存编辑内容、运行查询、运行报表等。只要在命令按钮的Click事件中输入相应的操作代码,当用户单击命令按钮时,即可触发Click事件,执行Click中的代码来完成指定操作。1)命令按钮控件功能 命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等 2)命令按钮控件常用属性 在表单中可以建立一个命令按钮控件用于执行命令。一般都将特定操作代码放置在命令按钮的click事件中,对命令按钮的使用最重要的是编写Click事件代码。设计时经常需要设置命令按钮属性。命令按钮常用属性如表6-20所示。)设置命令按钮的访问键。访问键可使用户在表单中通过按ALT+访问键来选择一个控件。指定控件的访问键的方法是:在控件的Caption属性中,在作为访问键的字母前键入一个反斜杠和一个小于符号()。例如,设置命令按钮Exit的访问键为X,只需在其Caption属性中输入:EXIT 用户可按下ALT+X键快速地选择该命令。例题6.8 设计一个如图6-30所示的密码输入窗口,要求最多允许输入3次密码。图6-30 命令按钮应用设计界面 操作步骤如下:1创建一个表单,然后在其中创建标签和文本框各1个,命令按钮2个。2属性设置如表6-21所示。3Form1的Load事件代码编写如下:public i&i用于计算输入次数 i=0 4Command1的Click事件代码编写如下 i=i+1 IF THISFORM.Text1.Value=888888&文本框输入值与888888(预置的密码)比较 THISFORM.Release&本表单从内存释放 ELSE IF i3&允许输入3次 MESSAGEBOX(密码错,请重新输入!)THISFORM.Text1.Value=&为重新输入清空文本框 THISFORM.Text1.Setfocus&使文本框获得焦点,就是使光标在其中闪烁 ELSE MESSAGEBOX(密码错,禁止进入系统!)THISFORM.Release ENDIF 5Command2的Click事件代码编写如下 THISFORM.Release .命令按钮组 命令按钮组(Commandgroup)控件是表单上的一种容器,它可以包含若干个命令按钮,命令按钮组控件是命令按钮的集合。如果表单上有多个命令按钮,可以考虑使用命令按钮组。使用命令按钮组可以使代码更整洁,界面更加整齐。命令按钮组与组内的各个命令按钮都有自己的属性、事件和方法。)命令按钮组属性 常用命令按钮组属性如表6-22所示。)设置命令按钮组中各按钮的属性 在表单设计器中,既可设置命令按钮组的属性,也可以设置其中各命令按钮的属性。有两种方法可对单个按钮的属性进行编辑。(1)先用鼠标选择命令组,再单击右键选择“编辑”选项,然后单击命令组中任何一个按钮,再单击右键,选择“属性”选项。(2)用鼠标选择命令组,再单击右键选择“属性”选项,然后在“属性”窗口上部的对象下拉框中选择相应的按钮。)命令按钮组生成器 Click事件的判别方法:例如图6-34所示,Commandgroup1的Click事件代码编写如下:DO CASE CASE THIS.Value=1&单击Command1命令按钮(下页)返回.T.IF recno()1&防止上移出界 SKIP-1 ENDIF THISFORM.Refresh CASE THIS.Value=3&单击Command3命令按钮(退出)返回.T.THISFORM.Release&表单从内存释放 ENDCASE 例题6.10设计一个浏览学生所在班级基本情况的程序,如图6-35所示。学生基本情况包括:学号、姓名、班级。设计一个包含4个按钮的命令按钮组,1个独立的命令按钮,分别代表对记录指针的操作,以改变显示内容,从左至右分别表示:“第一条记录”、“上一条记录”、“下一条记录”、“最后一条记录”和“关闭”。图6-35 命令按钮组应用示例操作步骤:参考书上153页。复选框 复选框(Check)为表单添加“微调”控件,定义其主要属性:允许同时选择多项,所以复选框可以在表单中独立存在,选项按钮只能存在于它的容器选项按钮组中。复选框主要反映某些条件是否成立,用于选择取值为“真”或“假”的一种现象。可以单击鼠标左键改变其值。复选框控件是一种数据绑定型控件,在数据编辑或条件选择等方面有广泛的应用。复选框的值 Value属性:0或.F.表示清除;1或.T.表示选定;2表示灰色状态。其中数字为默认值。选项按钮的Value属性:1表示选定,0表示未选定。选项按钮组(Optiongroup)的Value属性:表明被选定按钮的序号,默认为1。例如第2个按钮被选定时Value值为2。例题6.11 设计一个能编辑或浏览关于学生信息的4个数据库表的对话框,界面要求如图6-37所示,运行结果如图6-39所示。图6-37 选表编辑或浏览窗口 6.4.4 容器类控件容器类控件 表格 表格(Gird)类似浏览窗口,它具有网格结构,是将数据以表格形式表示出来的一种控件、容器。有垂直滚动条和水平滚动条,可以同时操作和显示多行数据。表格提供了一个全屏幕输入输出数据表记录的方式,一个表格由一列或若干列组成,每一列可显示表的一个字段,列由列标题和列控件组成。列标题的默认值为显示字段的字段名,允许修改。每一列必须设置一个列控件 (例如设置一个文本框控件Text1),该列中的每个单元格都可以用此控件来显示字段的值。这些列除了包含标头和控件外,每一个列还拥有自己的一组属性、事件和方法程序,从而为表格单元提供了大量的控件。表格它也是一个以行列的方式显示数据的对象容器控件。表格对象能在表单或页面中显示并操作行和列中的数据。使用表格控件的一个非常有效的应用是创建一对多表单。1)表格控件常用属性 常用表格属性如表6-26所示。2)通过“表格生成器”添加控件 3)设置表格数据源 用户既可以为整个表格设置数据源,也可以为每个列单独设置数据源。例题6.13建立如图6-44所示的表单,显示每门课程的学生成绩情况。要求浏览某门课程的成绩表时,成绩在90分以上的成绩字号由原来的9号放大为15号,字体颜色变为蓝色,成绩在60分以下的用红色字体标示出来。图6-44 运行结果 .页框 页框控件(Page Frame)实际上就是选项卡界面。每一个页面控件可包含相互独立的控件,因此页框可扩展表单的表面面积。页框、页面及页面上的每一个控件均有各自的属性、事件和方法。在表单中,一个页框可以有两个以上的页面,它们共同占有表单中的一块区域。在某一时刻只有一个活动页面,只有活动页面上的控件才是可见的。可以用通过单击需要的页面头来激活这个页面。表单中的页框是一个容器控件。例题6.14 在表单上创建一个如图6-46所示含有两个页面的页框,分别用来维护XSDA表和XSCJ表。图6-46 显示XSDA表和XSCJ表的表格 6.4.5连接类控件 1ActiveX控件 ActiveX控件(OLEControl)也称OLE控件。OLE是Object Linking and Embedding(对象链接与嵌入)的缩写,是指把一个对象(Object)以链接或嵌入的方式包含在Visual FoxPro的ActiveX控件中。对象(Object)可以是用户使用其它Windows应用程序(如Word、Excel、画图等)创建的图片、文档、声音文件、图像文件等。在Visual FoxPro中使用支持OLE的应用程序可以扩展Visual FoxPro的功能。在表单或通用型字段中,可以包含从其他应用程序中得来的特殊数据,如文本数据、声音数据、图片数据或视频数据等。例题6.15 用滑杆控件浏览学生档案表(XSDA.DBF)的学生姓名,要求滑杆指向什么数值,就显示记录号为该数值的设备名。2ActiveX绑定控件 ActiveX绑定控件(OLEBoundControl)也称OLE绑定控件,可在表单上显示表中通用型字段的内容。常用于在表单中输出通用型字段的内容。将数据环境中的通用型字段拖到表单上所形成的控件,实际上就是OLE绑定控件。该控件的主要属性是Strech,指定如何对图片的尺寸进行调整以适应该控件的大小(0-裁减,1-等比填充,2-变比填充),默认为0。例题6.16 自制一个如图6-52所示的图象编辑器,要求能对XSDA表通用型字段中的图象进行浏览、修改、增加与替换。图6-52 运行结果操作步骤参见书166页
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


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

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


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