您好,欢迎访问三七文档
当前位置:首页 > 办公文档 > 规章制度 > VFP6电子教案(7-10章)
荆门职业技术学院黎能武制作21世纪高职高专新概念教材中国水利水电出版社出版发行第7章至第10章第7章VFP6表单设计第8章报表与标签设计第9章VFP6菜单设计第10章多用户共享技术目录第7章VFP6表单设计7.1设计表单7.2处理对象7.3常用表单控件介绍7.4综合示例学习要点1、表单设计器的使用;2、向表单中添加控件的方法;3、常用控件的功能和使用方法;4、常用控件所具有的事件;5、方法程序的编写;6、使用表单解决数据输入和输出问题。返回退出7.1设计表单表单又称为界面或窗体,是VFP提供的一种功能强大的界面。各种对话框和窗口都是表单的不同表现形式。它可以使用户在简单明了的界面中查看数据或将数据记录输入到表中。在表单设计器中可以处理下列内容:■表单中不同类型的对象■与表单相关联的数据■顶层表单或子表单■能一起操作的多个表单■基于自定义模板的表单表单和表单集是拥有自己的属性、事件和方法程序的对象,在表单设计器中可以设置这些属性、事件和方法程序。表单集包含了一个或多个表单,可以将它们作为一个整体来操作。例如,如果一个表单集中有四个表单,可以在运行时用一个命令来显示或隐藏它们。可以通过表单向导、表单设计器和快速表单来创建表单。可以用如下的三种方法之一新建一个表单:■在“项目管理器”中选定“表单”,并选择【新建】按钮。■在【文件】菜单中选择【新建】命令,再选定“表单”,再选择【新建文件】按钮。■使用CREATEFORM命令。通过项目管理器创建表单示例1、选择“文档”选项卡2、选择“表单”3、单击【新建】4、进入新建表单程序,弹出“新建表单”对话框单击“表单设计器”窗口新表单在新表单(Form1)上可以可视化地添加控件并进行属性、方法程序设计。7.1.1设置数据环境每一个表单或表单集都包括一个数据环境(DataEnvironment)。数据环境是一个对象,它包含与表单相互作用的表或视图,以及表单所要求的表之间的关系。可以在“数据环境设计器”中直观地设置数据环境,并与表单一起保存。在表单运行时,数据环境可以自动打开、关闭表或视图。而且,通过设置“属性”窗口中ControlSource(指定与对象对立联系的数据源)属性设置框,在这个属性框中列出了数据环境中的所有字段,数据环境将帮助设置控件用的ControlSource属性。1、常用数据环境属性单击打开图片2、向数据环境设计器中添加表或视图向数据环境设计器中添加表或视图时,可以看到属于表或视图的字段或索引。若要向数据环境中添加表或视图,可以按如下步骤来进行:(1)打开“数据环境设计器”,从“数据环境”菜单中选择“添加”1、在表单上右击,弹出表单的快捷菜单2、在快捷菜单中单击“数据环境”菜单项,打开“数据环境设计器”3、添加表或视图的方法与建立查询时添加表或视图相同4、在此框中选择Student后单击【添加】在关闭了“添加表或视图”对话框后,若还想向“数据环境”中添加表或视图,可采用以下方法之一:■在“数据环境设计器”中右击,打开数据环境的快捷菜单,从中选择“添加”菜单项,将“添加表或视图”对话框再次打开,添加方法与上述相同。■在“数据不境设计器”处于激活状态时,系统菜单上会有【数据环境】菜单,可以单击【数据环境】|【添加】将“添加表或视图”对话框再次打开。■将要添加的表或视图从打开的项目或“数据库设计器”拖放到“数据环境设计器”中。若已将“数据环境设计器”关闭了,要添加表或视图时,除了用前文所介绍的在表单上右击打开表单的快捷菜单,用快捷菜单操作以外,也可以在系统菜单上单击【显示】|【数据环境】,将“数据环境设计器”打开,打开了“数据环境设计器”后的添加方法与上相同。当“数据环境设计器”处于活动状态时,“属性”窗口会显示与数单击打开动画据环境相关的对象及属性。在“属性”窗口的“对象”框中,数据环境的每个表或视图,表之间的每个关系,以及数据环境本身均是各自独立的对象。要打开“属性”窗口,可以在表单或“数据环境设计器”中右击,在快捷菜单上选择【属性】菜单项在“数据环境设计器”中右击,打开快捷菜单。单击【属性】菜单项打开“属性”窗口。选项卡属性或方法程序列表属性值或方法程序属性及方法程序功能说明单击对象选择框3、从数据环境设计器中移去表当将表从数据环境中移去时,与这个表有关的所有的关系也随之移去。若要将表和视图从数据环境设计器中移去,可以:(1)在“数据环境设计器”中选择要移去的表或视图。(2)在“数据环境”快捷菜单中选择【移去】命令。在“数据环境设计器”中选择要移去的表或视图。在选定表或视图上右击,打开快捷菜单。单击【移去】4、在数据环境设计器中设置关系如果添加进数据环境设计器的表具有在数据库中设置的永久关系,这些关系将自动地加到数据环境中。如果表中没有永久的关系,可以在数据环境设计器中设置这些关系。要在数据环境设计器中设置这些关系,可以将字段从主表拖到相关表中的相匹配的索引标识上。也可以将字段从主表拖到相关表中的字段上。如果和主表中的字段对应的相关表中没有索引标识,系统将提示是否创建索引标识。1、先向表单的“数据环境设计器”添加两个表,如图按“学号”字段设置Student表与Grade表的一对多关系:在“数据环境设计器”中的Student表中选择“学号”字段并将其拖到Grade表的“学号”字段上。右击表间的关系连接线打开快捷菜单在快捷菜单中单击“属性”,打开属性窗口:在属性选择列表中选择OneToMany单击“属性选择框”弹出属性值选择.T.-真表达式生成器按钮取消按钮确定按钮属性选择框将两表设置为一对多关系父表别名如果在建立关系前Grade表没有按关联字段(学号)建立索引,则在将“学号”从Student表中拖到Grade表时将弹出对话框:单击【确定】时系统将先按“学号”为Grade表建立索引,然后才建立两表间的关系。5、在数据环境设计器中编辑关系在数据环境设计器中设置了一个关系后,在表之间将有一条连线指出这个关系。若要编辑关系的属性,可在“属性”窗口中从属性列表框选择要编辑的关系。关系的属性对应于SETRELATION和SETSKIP命令中的子句和关键字。RelationalExpr(指定基于父表中的字段而又与子表中的索引相关的表达式)属性的默认设置为主表中主关键字字段的名称。如果相关表是以表达式作为索引的,就必须将RelationalExpr属性设置为这个表达式。例如,如果相关表以UPPER(cust_id)作为索引,就必须将RelationalExpr属性设置为UPPER(cust_id)。如果关系不是一对多关系,必须将OneTOMany属性(指定是否只有在子表中遍历了所有相关记录之后才移动父表记录的记录指针)设置为“假”(.F.)。这对应于使用SETRELATION命令时不发出SETSKIP命令。将关系的OneToMany属性设置为“真”(.T.),相当于发出SETSKIP命令。当浏览父表时,在记录指针浏览完子表中所有的相关记录之前,记录指针一直停留在同一父记录上。注意:如果在表单或表单集中想设置一对多关系,必须将OneToMany属性设置为“真”(.T.),甚至在数据库中已经建立了永久一对多关系时也必须如此。返回7.1.2创建单文档和多文档界面VFP允许创建两种类型的应用程序:■多文档界面(MDI)各个应用程序由单一的主窗口组成,且应用程序的窗口包含在主窗口中或浮动在主窗口顶端。VFP基本上是一个MDI应用程序,带有包含于VFP主窗口中的命令窗口、编辑窗口和设计器窗口。■单文档界面(SDI)应用程序由一个或多个独立窗口组成,这些窗口均在Windows桌面上单独显示。MicrosoftExchange即是一个SDI应用程序的例子,在该软件中打开的每条消息均显示在自己独立的窗口中。由单个窗口组成的应用程序通常是一个SDI应用程序,但也有一些应用程序综合了SDI和MDI的特性。例如,VFP将调试器显示为一个SDI应用程序,而它本身又包含了自己的MDI窗口。为了支持这两种类型的界面,VFP允许创建以下几种类型的表单:■子表单:包含在另一个窗口中,用于创建MDI应用程序的表表单。子表单不可移至父表单(主表单)边界之外,当其最小化时将显示在父表单的底部。若父表单最小化,则子表单也一同最小化。■浮动表单:属于父表单(主表单)的一部分,但并不是包含在父表单中。而且,浮动表单可以被移至屏幕的任何位置,但不能在父窗口后台移动。若将浮动表单最小化时,它将显示在桌面的底部。若父表单最小化,则浮动表单也一同最小化。浮动表单也可用于创建MDI应用程序。■顶层表单:没有父表单的独立表单,用于创建一个SDI应用程序,或用作MDI应用程序中其他子表单的父表单。顶层表单与其他Windows应用程序同级,可出现在其前台或后台,并且显示在Windows任务栏中。1、指定表单类型创建各种类型表单的方法大体相同,但需设置特定属性以指出表单应该如何工作。如果创建的是子表单,则不仅需要指定它应在另外一个表单中显示,而且还需指定是否是MDI类的子表单,即指出表单最大化时是如何工作的。如果子表单是MDI类的,它会包含在父表单中,并共享父表单的标题栏、标题、菜单以及工具栏。非MDI类的子表单最大化时将占据父表单的全部用户区域,但仍保留它本身的标题和标题栏。若要建立一个子表单,可以:■用“表单设计器”创建或编辑表单。■可将表单的ShowWindow属性设置为下列值之一:●0-在屏幕中:子表单的父表单将为VFP的主窗口。●1-在顶层表单中。当子窗口显示时,子表单的父表单是活动的顶层表单。如果希望子窗口出现在顶层表单窗口内,而不是出现在VFP主窗口内时。可选用该项设置。■如果希望子表单最大化时与父表单组合成一体,可设置表单的MDIForm属性(指定表单是否为MDI窗口)为“真”(.T.);如果希望子表单最大化时仍保留为一独立的窗口,可设置表单的MDIForm属性为“假”(.F.)。浮动表单是由子表单变化而来。若要指定为浮动表单,可以:■用“表单设计器”创建或编辑表单。■可将表单的ShowWindow属性设置为以下值之一:●0-在屏幕中。浮动表单的父表单将出现在VFP主窗口。●1-在顶层表单中。当浮动窗口显示时,浮动表单的父表单将是活动的顶层表单。■将表单的DeskTop属性(指定表单是否包含在VFP主窗口中)设置为“真”(.T.)。若要指定顶层表单,可以:■用“表单设计器”创建或编辑表单。■将表单的ShowWindow属性设置为“2-作为顶层表单”。2、显示位于顶层表单中的子表单如果所创建的子表单中的ShowWindow属性设置为“1-在顶层表单中”,则不需直接指定一顶层表单作为子表单的父表单。而是在子窗口出现时,VFP指派成为该子表单的父表单。若要显示位于顶层表单中的子表单,可以:■创建顶层表单。■在顶层表单的事件代码中包含DOFORM命令,指定要显示的子表单的名称。例如,在顶层表单中建立一个按钮,然后在按钮的Click事件代码中包含如下的命令,如图所示:注意:在显示子表单时,顶层表单必须是可视的、活动的。因此,不能使用顶层表单的Init事件来显示子表单,因为此时顶层表单还未激活。■激活顶层表单,如有必要,触发用以显示表单的事件。3、隐藏VFP主窗口在运行顶层表单时,可能不希望VFP主窗口是可视的。使用应用程序对象的Visible属性(指定对象是可见还是隐藏)按要求隐藏或显示VFP主窗口。若要隐藏VFP主窗口,可以:■在表单的Init事件中,包含下列代码行:Appliction.Visible=.F.■在表单的Destroy事件中,包含下列代码行:Appliction.Visible=.T.在某些方法程序或事件中,可使用THISFORM.Release命令关闭表单。注意:也可以在配置文件中包含以下行,用以隐藏VFP主窗口:SCREEN=OFF4、在顶层表单中添加菜单若要在顶层表单中添加菜单,可以:■创建顶层表单的菜单。返回■将表单的ShowWindow属性设置为“2-作为顶层表单”。■在表单的Init事件中,运行菜单程序并
本文标题:VFP6电子教案(7-10章)
链接地址:https://www.777doc.com/doc-3210447 .html