第8章vfp数据库基础_第1页
第8章vfp数据库基础_第2页
第8章vfp数据库基础_第3页
第8章vfp数据库基础_第4页
第8章vfp数据库基础_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第8章 表单设计基础 第第8 8章章 表单设计基础表单设计基础 学习目的与要求:学习目的与要求:表单表单(Form)(Form)在在Visual BasicVisual Basic和和Visual C+Visual C+中中称为窗体,它是应用程序与用户之间的基本接口。称为窗体,它是应用程序与用户之间的基本接口。表单是创造良好的图形化用户界面的基本工具,根表单是创造良好的图形化用户界面的基本工具,根据应用程序设计的目的不同,可有各种表现形式。据应用程序设计的目的不同,可有各种表现形式。表单上可以放置有关的控件,如标签、文本框、命表单上可以放置有关的控件,如标签、文本框、命令按钮、表格、组合框等,

2、以实现不同的设计要求。令按钮、表格、组合框等,以实现不同的设计要求。只有学好了表单及有关的控件知识,才能开发出高只有学好了表单及有关的控件知识,才能开发出高质量的应用程序。质量的应用程序。 第第8 8章章 表单设计基础表单设计基础 l8.18.1表单设计引例表单设计引例 l8.28.2表单设计的几种方法表单设计的几种方法 l8.3 8.3 上机实训上机实训 l8.4 本 章 习 题8.1 8.1 表单设计引例表单设计引例 在创建一个表单之前,首先要明确这个表单在创建一个表单之前,首先要明确这个表单需要完成什么功能,它和数据库中的哪些数据有需要完成什么功能,它和数据库中的哪些数据有关,然后再具体

3、考虑设置表单的数据环境,向表关,然后再具体考虑设置表单的数据环境,向表单添加什么对象(或控件)以及如何设置这些对单添加什么对象(或控件)以及如何设置这些对象的属性,编写有关的事件代码。要设计的表单象的属性,编写有关的事件代码。要设计的表单功能也决定了用什么方法来创建表单。功能也决定了用什么方法来创建表单。 8.1.1 8.1.1 表单的创建和运行表单的创建和运行 1与表单设计有关的基本知识 要设计一个表单,首先要了解【表单设计器】要设计一个表单,首先要了解【表单设计器】界面的有关知识和【表单设计器】打开的方法。表界面的有关知识和【表单设计器】打开的方法。表单设计时一般要用到表单控件以及对这些控

4、件进行单设计时一般要用到表单控件以及对这些控件进行属性设置的属性窗口、【布局】工具栏等。【表单属性设置的属性窗口、【布局】工具栏等。【表单设计器】窗口、【表单设计器】工具栏、【属性】设计器】窗口、【表单设计器】工具栏、【属性】窗口、【表单控件】工具栏见图所示。窗口、【表单控件】工具栏见图所示。图8.1 【表单设计器】窗口、【表单设计器】工具栏、【属性】窗口、【表单控件】工具栏 1 1)表单设计器工具栏)表单设计器工具栏 【表单设计器】工具栏用来管理与设计表单有关的窗【表单设计器】工具栏用来管理与设计表单有关的窗口和命令,包括【设置口和命令,包括【设置Tab键次序】、【数据环境】、键次序】、【数

5、据环境】、【属性窗口】、【代码窗口】、【表单控件工具栏】、【属性窗口】、【代码窗口】、【表单控件工具栏】、【调色板工具栏】、【布局工具栏】、【表单生成器】、【调色板工具栏】、【布局工具栏】、【表单生成器】、【自动格式】等【自动格式】等9个按钮,如图个按钮,如图8. .2所示。所示。 图8.2 【表单设计器】工具栏 2 2)属性窗口)属性窗口 【属性】窗口用于表单设计时对对象【属性】窗口用于表单设计时对对象( (控件控件) )的属性进行设置,如图的属性进行设置,如图8.38.3所示。【属性】窗口包所示。【属性】窗口包括【全部】、【数据】、【方法程序】、【布括【全部】、【数据】、【方法程序】、【布

6、局】、【其他】局】、【其他】5 5个选项卡。个选项卡。 图8.3 【属性】窗口 (1 1)【全部】选项卡)【全部】选项卡 【全部】选项卡包含了所选对象【全部】选项卡包含了所选对象( (控件控件) )的所有属性、的所有属性、方法程序、事件代码的设置或说明,包含了其他方法程序、事件代码的设置或说明,包含了其他4 4个选项卡个选项卡的全部内容。的全部内容。 (2 2)【数据】选项卡)【数据】选项卡 【数据】选项卡包含了所选对象【数据】选项卡包含了所选对象( (控件控件) )的所有的所有“数据数据”的属性设置,如的属性设置,如ControlSourceControlSource、FormatForma

7、t等属性。等属性。 (3 3)【方法程序】选项卡)【方法程序】选项卡 【方法程序】选项卡包含了所选对象【方法程序】选项卡包含了所选对象( (控件控件) )的所有的所有“方方法法”和和“事件事件”是否是是否是“默认过程默认过程”还是还是“用户自定过程用户自定过程”的说明。的说明。 (4 4)【布局】选项卡)【布局】选项卡【布局】选项卡包含了所选对象【布局】选项卡包含了所选对象( (控件控件) )的所有的所有“布局布局”的属性设置,如的属性设置,如AlignmentAlignment、BackColorBackColor、BackStyleBackStyle、VisibleVisible、Text

8、Text等属性。等属性。 (5 5)【其他】选项卡)【其他】选项卡 【其他】选项卡包含了所选对象【其他】选项卡包含了所选对象( (控件控件) )的所有的所有“其他其他”的属性设置,如的属性设置,如Name Name 、EnabledEnabled等属性。等属性。 在【表单设计器】窗口打开的情况下,打开【属性】窗在【表单设计器】窗口打开的情况下,打开【属性】窗口有以下几种方法:口有以下几种方法:n在【表单设计器】窗口单击右键,在弹出的快捷菜单中选择【属性】命令在【表单设计器】窗口单击右键,在弹出的快捷菜单中选择【属性】命令 n在【表单设计器】工具栏中单击【属性窗口】按钮在【表单设计器】工具栏中单

9、击【属性窗口】按钮 n执行系统菜单【显示】执行系统菜单【显示】| |【属性】命令【属性】命令 3)代码窗口 【代码】窗口是用来进行代码编写的窗口,它包【代码】窗口是用来进行代码编写的窗口,它包括括3 3个部分:选中的个部分:选中的“对象对象”、当前对象的选中、当前对象的选中“过过程程”、具体的代码、具体的代码( (程序程序) ),如图,如图8.48.4所示。所示。 在【表单设计器】窗口打开的情况下,打开【代码】窗口有以下几种方法: n在【表单设计器】窗口单击右键,在弹出的快捷菜单中选择【属性】命令 n在【表单设计器】工具栏中单击【属性窗口】按钮 1.执行系统菜单【显示】|【属性】命令 3)代码

10、窗口 【代码】窗口是用来进行代码编写的窗口,它包【代码】窗口是用来进行代码编写的窗口,它包括括3 3个部分:选中的个部分:选中的“对象对象”、当前对象的选中、当前对象的选中“过过程程”、具体的代码、具体的代码( (程序程序) ),如图,如图8.48.4所示。所示。图8.4 【代码】窗口 2新建表单 启动或打开【表单启动或打开【表单设计设计器】窗口。打开【表单设器】窗口。打开【表单设计器】窗口,有以下几种常用的方法:计器】窗口,有以下几种常用的方法: 1 1)执行系统菜单)执行系统菜单【新建】【新建】命令,在打开的命令,在打开的【新建】【新建】对话对话框中选中框中选中【表单】【表单】单选钮后单击

11、单选钮后单击【新建文件】【新建文件】按钮。这种方法建立按钮。这种方法建立的表单不会记载在项目管理器中。的表单不会记载在项目管理器中。 2 2)在打开的)在打开的【项目管理器】【项目管理器】中,选中中,选中【全部】【全部】或或【文档】【文档】选项卡,选中列表框中的选项卡,选中列表框中的【表单】【表单】项,最后单击项,最后单击【新建】【新建】按钮。这按钮。这种方法建立的表单会自动记载在项目管理器中。种方法建立的表单会自动记载在项目管理器中。 3 3)在)在【命令】【命令】窗口,输入以下命令。窗口,输入以下命令。 CREATE FORM CREATE FORM 如果对一个已经存在的表单进行修改,也会

12、打开【表单设计如果对一个已经存在的表单进行修改,也会打开【表单设计器】窗口。器】窗口。 4)在打开的【项目管理器】中,选中【全部】或【文档】选项卡,展开列表框中的【表单】项,选中一个具体的表单,最后单击【修改】按钮。 5)在【命令】窗口,输入以下命令。 MODIFY FORM 打开了【表单设计器】窗口就可以对表单进行设计或进行修改。 3运行表单 运行一个表单可用以下方法运行一个表单可用以下方法 1 1)在【表单设计器】窗口单击右键,在弹出的快)在【表单设计器】窗口单击右键,在弹出的快捷菜单中选择【执行表单】命令。捷菜单中选择【执行表单】命令。 2 2)在打开的【项目管理器】中,选中【全部】或)

13、在打开的【项目管理器】中,选中【全部】或【文档】选项卡,展开列表框中的【表单】项,选中一【文档】选项卡,展开列表框中的【表单】项,选中一个具体的表单,最后单击【运行】按钮。个具体的表单,最后单击【运行】按钮。 3 3)在【命令】窗口,输入以下命令。)在【命令】窗口,输入以下命令。 DO FORM DO FORM 4 4)在标准工具栏中单击)在标准工具栏中单击 “运行运行” 按钮。按钮。8.1.2 表单的数据环境1设置数据环境的意义 表单或表单集的数据环境可以看成是一种表单或表单集的数据环境可以看成是一种Visual FoxPro6.0Visual FoxPro6.0的的对象,在其中可以设定运行

14、表单时要打开的表或视图,并且可进一对象,在其中可以设定运行表单时要打开的表或视图,并且可进一步设定表与表之间的关系,甚至可以设定打开文件的读写状态。也步设定表与表之间的关系,甚至可以设定打开文件的读写状态。也就是说,数据环境把用户原来使用命令对数据库、表,以及创建表就是说,数据环境把用户原来使用命令对数据库、表,以及创建表间关系的操作,完全用对象属性的设定来代替了,并把数据库的打间关系的操作,完全用对象属性的设定来代替了,并把数据库的打开、关联、状态读写以及关闭操作作为数据环境的属性。正常情况开、关联、状态读写以及关闭操作作为数据环境的属性。正常情况下,数据环境中加载的表、视图将随表单的打开而

15、自动打开,随表下,数据环境中加载的表、视图将随表单的打开而自动打开,随表单的关闭而自动关闭。除此之外,对表单加载数据环境,可以方便单的关闭而自动关闭。除此之外,对表单加载数据环境,可以方便表单的设计。表单的设计。 2打开【数据环境】设计器 设置表单或表单集的数据环境,。打开一个设置表单或表单集的数据环境,。打开一个表单或表单集后打开【数据环境】设计器的方法表单或表单集后打开【数据环境】设计器的方法有以下有以下3 3种:种:1 1)执行系统菜单【显示】)执行系统菜单【显示】| |【数据环境】命【数据环境】命令。令。2 2)在【表单设计器】窗口单击右键,在弹出)在【表单设计器】窗口单击右键,在弹出

16、的快捷菜单中选择【数据环境】命令。的快捷菜单中选择【数据环境】命令。3 3)在【表单设计器】工具栏中单击【数据环)在【表单设计器】工具栏中单击【数据环境】按钮境】按钮。 3向【数据环境】添加表或视图 在打开【数据环境】设计器后,可以对【数据环境】在打开【数据环境】设计器后,可以对【数据环境】添加表或视图,添加的方法主要有以下添加表或视图,添加的方法主要有以下2 2种种 1 1)在【数据环境】设计器窗口单击右键,在弹出的快)在【数据环境】设计器窗口单击右键,在弹出的快捷菜单中选择【添加】命令。捷菜单中选择【添加】命令。 2 2)执行系统菜单【数据环境】)执行系统菜单【数据环境】| |【添加】命令

17、。【添加】命令。 4从【数据环境】中移去表或视图 打开【数据环境】设计器后,移去的方法主要有以下打开【数据环境】设计器后,移去的方法主要有以下2 2种:种:1 1)在【数据环境】设计器窗口单击右键,在弹出的快)在【数据环境】设计器窗口单击右键,在弹出的快捷菜单中选择【添加】命令。捷菜单中选择【添加】命令。2 2)执行系统菜单【数据环境】)执行系统菜单【数据环境】| |【添加】命令。【添加】命令。 4从【数据环境】中移去表或视图 在打开【数据环境】设计器后,移去的方法主要有以下在打开【数据环境】设计器后,移去的方法主要有以下2 2种:种: 1 1)在【数据环境】设计器窗口单击右键,在弹出的快捷菜

18、)在【数据环境】设计器窗口单击右键,在弹出的快捷菜单中选择【移去】命令。单中选择【移去】命令。2 2)执行系统菜单【数据环境】)执行系统菜单【数据环境】| |【移去】命令。【移去】命令。 5在【数据环境】设计器窗口中设置表间的关系 要在【数据环境】设计器窗口中设置表间关系,可以将相应的字段从要在【数据环境】设计器窗口中设置表间关系,可以将相应的字段从主表拖到相关表中相匹配的索引标识上,也可以将字段从主表拖到相关表主表拖到相关表中相匹配的索引标识上,也可以将字段从主表拖到相关表中的字段上。如果和主表中的字段对应的相关表中没有索引标识,系统将中的字段上。如果和主表中的字段对应的相关表中没有索引标识

19、,系统将提示是否创建索引标识。要建立关系,应该选择创建索引标识。若要改变提示是否创建索引标识。要建立关系,应该选择创建索引标识。若要改变表间关系的属性,只要在选定表示关系的线后,在【属性】窗口中修改该表间关系的属性,只要在选定表示关系的线后,在【属性】窗口中修改该关系对象的相应属性即可。如果在数据库设计时已经对表建立了关系,则关系对象的相应属性即可。如果在数据库设计时已经对表建立了关系,则表加载到【数据环境】中时将自动建立表间关系。表加载到【数据环境】中时将自动建立表间关系。6将【数据环境】中的表、视图、字段拖放到表单中 1 1)将【数据环境】中的表、视图拖放到表单中,将)将【数据环境】中的表

20、、视图拖放到表单中,将会自动生成一个表格会自动生成一个表格(Grid)(Grid)对象,该对象将与表或视图绑对象,该对象将与表或视图绑定在一起。定在一起。 2 2)将【数据环境】中的表、视图中的字段拖放到表)将【数据环境】中的表、视图中的字段拖放到表单中,将会自动生成一个文本框单中,将会自动生成一个文本框(Text)(Text)对象,该对象将与对象,该对象将与表或视图中对应的字段绑定在一起。表或视图中对应的字段绑定在一起。 8.1.3 登陆窗口的设计 下面通过一个表单设计的实例-登陆窗口的设计来了解表单设计的过程。 1.建立一个新表单 用上述章节介绍的方法,新建一个表单“Form1”,选中【表

21、单控件】工具栏中的标签对象,将标签拖放到“Form1”上,如图8.5所示。 图8.5 新建的表单 2.2.为表单放置为表单放置“对象对象”并设置属性并设置属性 在【属性】窗口中选中标签的标题属性在【属性】窗口中选中标签的标题属性“CaptionCaption”,在,在“属性值输入框属性值输入框”中输入中输入“用户用户”,如图如图8.68.6所示。所示。 图8.6 对象属性值的设置方法 用同样的方法在用同样的方法在“Form1”Form1”中再加入一个中再加入一个标签标签,2 2个文本框个文本框,2 2个命令按钮个命令按钮,并对它们的有关属性,并对它们的有关属性进行设置。要设置的对象属性见表进行

22、设置。要设置的对象属性见表8.18.1所示,设所示,设计好的计好的“Form1”Form1”表单如图表单如图8.78.7所示。所示。 图8.7 设计好的登陆窗口 3.3.为表单添加数据环境为表单添加数据环境 用上述章节介绍的方法,打开【数据环境】窗口,并加载用上述章节介绍的方法,打开【数据环境】窗口,并加载“useruser”表,如图表,如图8.88.8所示。所示。 图8.8 设计好的登陆窗口 4.4.为表单编写代码为表单编写代码 打开【代码】窗口,分别对有关打开【代码】窗口,分别对有关“对象对象”的有关的有关“事事件件”输入下列输入下列代码代码: 输入【确定】按钮的输入【确定】按钮的Clic

23、k代码代码 sele usero=thisformif empt(o.txtxm.text) messagebox(用户名不能为空!,48+0+0,操作提示) o.txtxm.setfocus() retuendifloca for allt(name)=allt(o.txtxm.text); .and. allt(password)=allt(o.txtkl.text)if found() messagebox(成功登陆!,64+0+0,操作提示)thisform.release*调用主界面*如果没有设计好mainform表单则不要以下命令 do form mainformelse mess

24、agebox(“用户名错或密码错!”,16+0+0,“操作提示”) o.txtxm.setfocus()endifretu输入【取消】按钮的输入【取消】按钮的ClickClick代码代码 thisform.release thisform.release 5.运行表单将新建的表单以文件名将新建的表单以文件名“loginform”loginform”保存,运行保存,运行loginformloginform表单后,分别输入用户名和密码,如用户名:张三;密码:表单后,分别输入用户名和密码,如用户名:张三;密码:111111。 注意:如果没有建立注意:如果没有建立”user”user”表,则不能运行程

25、序表,则不能运行程序。 “user”表的结构如表表的结构如表8.2所示,数据如表所示,数据如表8.3所示。所示。 8.2 8.2 表单设计的几种方法表单设计的几种方法 8.2.1 用表单向导设计表单 u通过【项目管理器】启动表单向导 在【项目管理器】中选择【文档】选项卡中的【表单】,单击【新建】按钮,则出现【新建表单】对话框,在【新建表单】对话框中单击【表单向导】按钮,则出现表单向导的【向导选取】对话框,如图8.9所示。u通过系统菜单启动表单向导 执行系统菜单【工具】|【向导】|【表单】命令,也能启动如图8.9所示的表单向导。 图8.9 表单向导的向导选取对话框 1. 1. 建立一个建立一个“

26、单数据表单数据表”的表单的表单 要建立一个单数据表的表单,则在图要建立一个单数据表的表单,则在图8.98.9中选择【表单向中选择【表单向导】后单击【确定】按钮。导】后单击【确定】按钮。 步骤步骤1-1-字段选取字段选取 表单向导的第表单向导的第1 1步是字段选取,如图步是字段选取,如图8.108.10所示。完成后单击【下一步】所示。完成后单击【下一步】则进入步骤则进入步骤2 2。 步骤步骤2-2-选择表单样式选择表单样式表单向导的第表单向导的第2 2步是选择表单样式,如图步是选择表单样式,如图8.118.11所示。选择一种需要的所示。选择一种需要的样式和按钮的类型,完成后单击【下一步】则进入步

27、骤样式和按钮的类型,完成后单击【下一步】则进入步骤3 3。 步骤步骤3-3-排序次序排序次序 表单向导的第表单向导的第3 3步是选择排序次序,如图步是选择排序次序,如图8.128.12所示。选择数据排序所示。选择数据排序的依据,即排序的字段,完成后单击【下一步】则进入步骤的依据,即排序的字段,完成后单击【下一步】则进入步骤4 4。步骤步骤4-4-完成完成 表单向导的第表单向导的第4 4步是完成,如图步是完成,如图8.138.13所示。所示。 在该步骤,可以输入表单的标题,还可以预览表单,如果在该步骤,可以输入表单的标题,还可以预览表单,如果满意,则单击【完成】按钮。如果不满意,可以单击【上一步

28、】满意,则单击【完成】按钮。如果不满意,可以单击【上一步】进行修改。图进行修改。图8.148.14是表单预览的效果图。是表单预览的效果图。 图8.14 表单预览的效果图 2. 2. 建立一个建立一个“双数据表双数据表”的表单的表单 要建立一个双数据表的表单,则在图要建立一个双数据表的表单,则在图8.98.9中选择【一对多中选择【一对多表单向导】后单击【确定】按钮。表单向导】后单击【确定】按钮。 步骤步骤1-1-从父表中选定字段从父表中选定字段步骤步骤2-2-从子表中选定字段从子表中选定字段 步骤步骤3-3-建立表之间的关系建立表之间的关系 该步骤用于建立父表与子表之间的关系,如图该步骤用于建立

29、父表与子表之间的关系,如图8.158.15所示。所示。 【步骤步骤4、5、6同单数据表的表单向导,建立的一同单数据表的表单向导,建立的一对多表单运行情况如图对多表单运行情况如图8.16所示。所示。 图8.16 一对多表单运行效果图 8.2.2 表单设计控件简介 【表单控件】工具栏如图【表单控件】工具栏如图8.178.17所示。所示。NameName为对象的名称为对象的名称属性,每个对象都有此属性,下面对常用的一些控件进行简要属性,每个对象都有此属性,下面对常用的一些控件进行简要介绍介绍 。图8.17 表单控件工具栏 n标签(Label)控件 标签主要用来显示文字信息,常用于说明或提示,其文字信

30、息通过标签标签主要用来显示文字信息,常用于说明或提示,其文字信息通过标签标题标题 (Caption) (Caption) 属性进行设置。表单运行时不能直接修改或输入文字,如要属性进行设置。表单运行时不能直接修改或输入文字,如要修改,可以通过程序代码来实现,如修改,可以通过程序代码来实现,如Thisform.Label1.Caption=”Thisform.Label1.Caption=”用户名用户名”。标签常用的属性如表标签常用的属性如表8.48.4所示。所示。 2. 2. 文本框(文本框(TextBoxTextBox)控件)控件 文本框控件常用于数据输入,也可以用于显示文字信息。用户可以在其

31、文本框控件常用于数据输入,也可以用于显示文字信息。用户可以在其中输入、更改一个单行文本,并可将结果保存在指定的表字段或变量中。文本中输入、更改一个单行文本,并可将结果保存在指定的表字段或变量中。文本框可以编辑如字符型、数值型、逻辑型、日期型或日期时间型等类型的数据。框可以编辑如字符型、数值型、逻辑型、日期型或日期时间型等类型的数据。如果编辑的是日期型或时间型数据,那么在整个内容被选定的情况下,接如果编辑的是日期型或时间型数据,那么在整个内容被选定的情况下,接“+”+”或或“一一”,可以使日期增加一天或减少一天。在文本框内,所有标准的,可以使日期增加一天或减少一天。在文本框内,所有标准的Visu

32、al Visual FoxProFoxPro编辑功能,如剪切、复制和粘贴都可使用。文本框的一些基本属性可以编辑功能,如剪切、复制和粘贴都可使用。文本框的一些基本属性可以在属性窗口中设置,也可以通过文本框的【生成器】进行设置。激活一个对象在属性窗口中设置,也可以通过文本框的【生成器】进行设置。激活一个对象的【生成器】对话框,可以通过在选定对象上单击右键,之后在弹出的快捷菜的【生成器】对话框,可以通过在选定对象上单击右键,之后在弹出的快捷菜单中选择【生成器】命令来实现。文本框的【生成器】如图单中选择【生成器】命令来实现。文本框的【生成器】如图8.188.18所示。文本框所示。文本框常用属性见表常用

33、属性见表8.58.5所示。所示。 图8.18 文本框生成器 1 1)常用属性)常用属性 见表见表8.5 8.5 文本框常用属性文本框常用属性 、表、表8.6 InputMask8.6 InputMask模式符及其功能模式符及其功能 2 2)常用事件)常用事件文本框的常用事件如表文本框的常用事件如表8.78.7文本框常用事件所示文本框常用事件所示。 3 3)常用方法)常用方法 文本框的常用方法有:文本框的常用方法有: SetFocusSetFocus:使文本框得到焦点:使文本框得到焦点 2. 2. 编辑框编辑框(EditBox)(EditBox)控件控件 编辑框的用途和文本框相似,可用于显示和输

34、入文本内容。与文本编辑框的用途和文本框相似,可用于显示和输入文本内容。与文本框不同的是,编辑框扩展了文本框的功能,允许显示和输入多行文本的框不同的是,编辑框扩展了文本框的功能,允许显示和输入多行文本的内容,所以在编辑框的右边有一个垂直滚动条。编辑框常用于显示和输内容,所以在编辑框的右边有一个垂直滚动条。编辑框常用于显示和输入不确定长度的长文本,例如,可以把编辑框与数据库表的备注字段绑入不确定长度的长文本,例如,可以把编辑框与数据库表的备注字段绑定在一起,用于显示和编辑备注字段的内容。编辑框的一些基本属性可定在一起,用于显示和编辑备注字段的内容。编辑框的一些基本属性可以在属性窗口中设置,也可以通

35、过编辑框的以在属性窗口中设置,也可以通过编辑框的【生成器】【生成器】进行设置。进行设置。3. 3. 命令按钮命令按钮(CommandButton)(CommandButton)控件控件 命令按钮是表单中最常用的控件之一。可以在其命令按钮是表单中最常用的控件之一。可以在其ClickClick事件代码中事件代码中完成特定的操作。如打开文件、进行成绩计算等。命令按钮在外形上有完成特定的操作。如打开文件、进行成绩计算等。命令按钮在外形上有文本和图形化的两种形式,可以通过有关的属性来设置。命令按钮常用文本和图形化的两种形式,可以通过有关的属性来设置。命令按钮常用的事件是的事件是ClickClick事件,

36、常用的属性见表事件,常用的属性见表8.88.8所示。所示。 4. 4. 命令按钮组命令按钮组(CommandButtonGroup)(CommandButtonGroup)控件控件 命令按钮组是把一些功能相关或相近的命令按钮编成一组,命令按钮组是把一些功能相关或相近的命令按钮编成一组,进行统一管理,如图进行统一管理,如图8.198.19所示。在命令按钮组中,每一个按钮仍所示。在命令按钮组中,每一个按钮仍分别承担不同的任务,但它们的任务代码可以放在同一个代码程分别承担不同的任务,但它们的任务代码可以放在同一个代码程序中。使用命令按钮组给按钮的管理和编写代码带来了很大的方序中。使用命令按钮组给按钮

37、的管理和编写代码带来了很大的方便便。 命令按钮组常用的属性见表命令按钮组常用的属性见表8.98.9所示。命令按钮生成器如图所示。命令按钮生成器如图8.208.20所所示。示。 图8.19 命令按钮组 5. 5. 选项按钮组选项按钮组(OptionGroup)(OptionGroup)控件控件 选项按钮组由若干选项按钮组成,用于在多个选项中选择其中选项按钮组由若干选项按钮组成,用于在多个选项中选择其中一个选项的情况,如图一个选项的情况,如图8.218.21所示,被选中的选项用黑心圆点表示,所示,被选中的选项用黑心圆点表示,在选项按钮组中有且只能有一个选项被选中。在选项按钮组中有且只能有一个选项被

38、选中。图8.21 选项按钮组 选项按钮组常用的属性见表8.10所示,选项按钮常用的属性见表8.11所示。选项按钮组生成器如图8.22所示。 图8.22 选项按钮组生成器中的【布局】选项卡 6. 6. 复选框复选框(CheckBox)(CheckBox)控件控件 复选框常用于某种逻辑判断或选择,指明一复选框常用于某种逻辑判断或选择,指明一个事物是真还是假,或指明选择或不选择。如果个事物是真还是假,或指明选择或不选择。如果某一复选框被选中,则小框中有一个对勾某一复选框被选中,则小框中有一个对勾“”,否则没有。如下图是一组复选框的示例。否则没有。如下图是一组复选框的示例。 复选框常用的属性见表8.1

39、2所示。 7. 组合框组合框(ComboBox)(ComboBox)控件控件 组合框是用于提供一组项目供用户从中选择的控件组合框是用于提供一组项目供用户从中选择的控件, ,也可也可以让用户输入文字。应用程序使用组合框可以方便用户操作,以让用户输入文字。应用程序使用组合框可以方便用户操作,加快操作速度,减少操作错误。组合框有两种形式,一种是下加快操作速度,减少操作错误。组合框有两种形式,一种是下拉组合框,另一种是下拉列表框。下拉组合框与下拉列表框的拉组合框,另一种是下拉列表框。下拉组合框与下拉列表框的主要区别是:下拉组合框既允许用户从打开的下拉列表中选择,主要区别是:下拉组合框既允许用户从打开的

40、下拉列表中选择,也允许用户直接从键盘输入;而下拉列表框只允许用户从下拉也允许用户直接从键盘输入;而下拉列表框只允许用户从下拉列表中选择。两种列表框都是用同样的控件工具来生成,只是列表中选择。两种列表框都是用同样的控件工具来生成,只是StyleStyle属性设置不同,属性值为属性设置不同,属性值为0 0时为下拉组合框,属性值为时为下拉组合框,属性值为1 1时为下拉列表框。图时为下拉列表框。图8.248.24是一个组合框的外形图,表是一个组合框的外形图,表8.138.13、8.148.14、8.158.15分别是组合框常用的属性、事件和方法。分别是组合框常用的属性、事件和方法。 下拉组合框也可以使

41、用生成器进行有关属性的下拉组合框也可以使用生成器进行有关属性的设置,生成器如图设置,生成器如图8.258.25所示。所示。图8.25 组合框生成器 组合框生成器有组合框生成器有4 4个选项卡:个选项卡: 【列表项】【列表项】 在此选项卡中指定填充组合框中项目的数据源,包括在此选项卡中指定填充组合框中项目的数据源,包括“表表或视图中的字段或视图中的字段”、“手工输入数据手工输入数据”、“数组中的值数组中的值”。【样式】【样式】 在此选项卡中指定样式是三维还是平面、是下拉组合框还在此选项卡中指定样式是三维还是平面、是下拉组合框还是下拉列表、启用还是废止递增搜索。是下拉列表、启用还是废止递增搜索。【

42、布局】【布局】 在此选项卡中指定列宽和显示的方法。在此选项卡中指定列宽和显示的方法。【值】【值】在此选项卡中指定数据从哪一列得到返回值以及将数据存在此选项卡中指定数据从哪一列得到返回值以及将数据存储到哪个字段。储到哪个字段。 8. 8. 列表框列表框(ListBox)(ListBox)控件控件 列表框也是表单设计时常用的一种控件,列表框和列表框也是表单设计时常用的一种控件,列表框和组合框有许多相似的地方,读者可参照组合框进行学习,组合框有许多相似的地方,读者可参照组合框进行学习,这里就不再赘述了。这里就不再赘述了。 9. 9. 表格表格(Grid)(Grid)控件控件 表格控件是表单设计时常用

43、的一种控件。在数据库表格控件是表单设计时常用的一种控件。在数据库系统中,表格控件常用于显示和编辑数据库表、视图和系统中,表格控件常用于显示和编辑数据库表、视图和查询结果。表格控件常用的属性、事件分别如表查询结果。表格控件常用的属性、事件分别如表8.168.16、8.178.17所示。所示。 表格是一个容器对象,包含了大量的子对象,有列头、列正文等。有关表格的详细知识可参考有关的帮助文档。表格也可以使用生成器进行有关属性的设置,生成器如图8.26所示。 图8.26 表格生成器 表格生成器有4个选项卡:【表格项】 在此选项卡中可以选择数据库、数据库表、视图和字段,选择出的字段将在表格控件的各列中显

44、示。【样式】 在此选项卡中指定表格外形的样式是专业形、标准形、浮雕形还是帐务形。 【布局】 在此选项卡中指定列的标题、宽度和控件类型。 【关系】 如果表格中的数据要从两个表中取数据,此选项卡用于定义两个表的关联表达式。 10. 10. 微调微调(Spinner)(Spinner)控件控件 微调控件主要用于接受给定范围之内的数值输入微调控件主要用于接受给定范围之内的数值输入, ,每按每按一次向上或向下的箭头一次向上或向下的箭头, ,就可以增加或减少微调值。微调控就可以增加或减少微调值。微调控件的常用属性如表件的常用属性如表8.188.18所示,常用事件如表所示,常用事件如表8.198.19所示。

45、所示。 11. 11. 图像图像(Image)(Image)控件控件 图像控件用于在表单上显示图像。该控件允许在表单图像控件用于在表单上显示图像。该控件允许在表单中添加图片中添加图片(.bmp(.bmp文件文件) ),和其他控件一样,图像控件具有整,和其他控件一样,图像控件具有整套的属性、事件和方法程序。表套的属性、事件和方法程序。表8.208.20是图像控件的常用属性。是图像控件的常用属性。 12. 12. 计时器计时器(Timer)(Timer)控件控件 计时器用于在程序运行中,指定在规定的时间或按照计时器用于在程序运行中,指定在规定的时间或按照确定的时间间隔让系统产生一个计时器事件以运行

46、指定的程确定的时间间隔让系统产生一个计时器事件以运行指定的程序。计时器在运行时不可见,它在后台运行,定时地反复执序。计时器在运行时不可见,它在后台运行,定时地反复执行同一事件代码,不对用户引发的事件做出反应,与用户的行同一事件代码,不对用户引发的事件做出反应,与用户的当前操作相互独立。用当前操作相互独立。用IntervalInterval属性规定的时间间隔,单位属性规定的时间间隔,单位是毫秒;是毫秒;EnableEnable属性设为真属性设为真(.T.)(.T.)时时, , 计时器开始工作计时器开始工作, ,为真为真(.F.), (.F.), 计时器停止工作;计时器停止工作;TimerTime

47、r事件是计时器最常用的事件,事件是计时器最常用的事件,经过经过IntervalInterval属性设定的时间间隔后自动发生,属性设定的时间间隔后自动发生,IntervalInterval属属性值越小,性值越小,TimerTimer事件越频繁。事件越频繁。 13. 13. 页框页框(PageFrame)(PageFrame)控件控件 页框控件可以在表单上设置多个选项卡,每个选项卡对应着一页框控件可以在表单上设置多个选项卡,每个选项卡对应着一个页面,每个页面本身就是一个对象,每个页面中又可包含容器个页面,每个页面本身就是一个对象,每个页面中又可包含容器控件或其他控件,因此页框是包含页面的容器,如图

48、控件或其他控件,因此页框是包含页面的容器,如图8.278.27所示。所示。表表8.218.21是页框控件的常用属性是页框控件的常用属性。 图8.27 具有3个页面的页框控件 14. 线条(Line)和形状(Shape)控件 线条(Line)控件可以在表单上绘制直线,可用BorderWidth属性改变线的宽度,用BorderStyle属性设置线条的形状,用BorderColor属性改变线条的颜色等。 形状(Shape)控件可以在表单上画矩形、正方形、椭圆、圆等图形。图形的类型由Curvature属性确定,其值为099。当Curvature为“0”时画一个矩形或正方形,为“99”时画一个椭圆形或圆

49、形,其他值将是矩形到圆形之间的过渡图形。与线条一样,可以设置图形边线的粗细、线型、颜色,此外还可以通过FillStyle属性实现形状内部的填充。 8.2.3 8.2.3 设计自定义的表单设计自定义的表单 要设计自定义的表单,除了前述章节介绍的有关表单和控要设计自定义的表单,除了前述章节介绍的有关表单和控件的知识之外,还要学习表单本身的有关知识,这些知识包括件的知识之外,还要学习表单本身的有关知识,这些知识包括表单的常用属性、事件和方法程序。表单的常用属性、事件和方法程序。1 1)表单的常用属性)表单的常用属性 表单是一个特殊的容器对象,它有众多的属性,其常用属表单是一个特殊的容器对象,它有众多

50、的属性,其常用属性见表性见表8.228.22所示。所示。 2 2)表单的常用事件)表单的常用事件 表单和其他控件一样,也有许多事件,表表单和其他控件一样,也有许多事件,表8.238.23列出了表单列出了表单的常用事件。的常用事件。 3 3)表单的常用方法)表单的常用方法 方法是一些系统提供的特殊程序,表单有许多方法,表方法是一些系统提供的特殊程序,表单有许多方法,表8.248.24列出了表单的常用方法。列出了表单的常用方法。 2. 2. 自定义表单设计举例自定义表单设计举例 1 1)在表单上显示一个移动的标签)在表单上显示一个移动的标签 新建一个表单,在表单上放置一个新建一个表单,在表单上放置

51、一个标签标签(Label1(Label1) )和一和一个个计时器控件计时器控件(Timer1)(Timer1),按表,按表8.258.25对控件进行属性设置,对控件进行属性设置,设置后的表单如图设置后的表单如图8.288.28所示。所示。 图8.28 移动标签例的设计界面 表单界面设计完成后,启动代码编写窗口,在代码编表单界面设计完成后,启动代码编写窗口,在代码编写窗口写入如下代码:写窗口写入如下代码: l表单表单(Form1)(Form1)的的InitInit事件事件代码代码 public aapublic aa aa=10 aa=10 l计时器计时器(Timer1)(Timer1)的的Ti

52、merTimer事件事件代码代码 o=thisformo=thisform if o.lblshow.left=0 if o.lblshow.left=o.width if o.lblshow.left+o.lblshow.width=o.width aa=-10 aa=-10 endif endif o.lblshow.left=o.lblshow.left+aa o.lblshow.left=o.lblshow.left+aareturn return 2 2)用微调控件微调日期)用微调控件微调日期新建一个表单,在表单上放置一个新建一个表单,在表单上放置一个文本框文本框(Text1)(Te

53、xt1)和和一个一个微调控件微调控件(Spinner1)(Spinner1),按表,按表8.268.26对控件进行属性设对控件进行属性设置,设置后的表单如图置,设置后的表单如图8.298.29所示。所示。 图8.29 微调控件例的设计界面 表单界面设计完成后,启动代码编写窗口,在代码编写表单界面设计完成后,启动代码编写窗口,在代码编写窗口写入如下代码:窗口写入如下代码: l表单表单(Form1)(Form1)的的InitInit事件事件代码代码 Rq=date() Rq=date() l微调控件微调控件(Spinner1)(Spinner1)的的UpClickUpClick事件事件代码代码 t

54、hisform.text1.value=thisform.text1.value+1thisform.text1.value=thisform.text1.value+1returnendif returnendif l微调控件微调控件(Spinner1)(Spinner1)的的DownClickDownClick事件事件代码代码 thisform.text1.value=thisform.text1.value-1thisform.text1.value=thisform.text1.value-1returnendifreturnendif 3 3)设计一个查看数据的简单表单)设计一个查看

55、数据的简单表单 新建一个表单,在表单上放置一个命令按钮组新建一个表单,在表单上放置一个命令按钮组(CommandGroup1)(CommandGroup1),在,在表单的【数据环境】中加载表单的【数据环境】中加载“学生学生”数据表,将数据表,将“学生学生”数据表中的字段数据表中的字段“学号学号”、“姓名姓名”、“性别性别”、“出生日期出生日期”分别从【数据环境】中拖分别从【数据环境】中拖放到表单上,【数据环境】如图放到表单上,【数据环境】如图8.308.30所示。在【属性窗口】对命令按钮组所示。在【属性窗口】对命令按钮组的有关属性进行设置,或利用命令按钮组生成器进行设置。调整标签和文的有关属性

56、进行设置,或利用命令按钮组生成器进行设置。调整标签和文本框的大小和位置,并利用表单布局工具栏进行对齐,最后形成如图本框的大小和位置,并利用表单布局工具栏进行对齐,最后形成如图8.318.31所示的设计界面。所示的设计界面。 图8.30 【数据环境】中加载的“学生” 图8.31 简单查询记录的设计界面 表单界面设计完成后,启动代码编写窗口,在代码编写窗口写入如表单界面设计完成后,启动代码编写窗口,在代码编写窗口写入如下代码:下代码: l命令按钮组命令按钮组(CommandGroup1)(CommandGroup1)的的ClickClick事件代码事件代码 . . do case go top m

57、and1.enabled=.f. mand2.enabled=.f. mand3.enabled=.t. mand4.enabled=.t. case this.value=2 skip -1 if bof() go top mand1.enabled=.f. mand2.enabled=.f. endif mand3.enabled=.t. mand4.enabled=.t. case this.value=3 skip if eof() go bottom mand3.enabled=.f. mand4.enabled=.f. endif mand1.enabled=.t. mand2.e

58、nabled=.t. case this.value=4 go bottom mand1.enabled=.t. mand2.enabled=.t. mand3.enabled=.f. mand4.enabled=.f. endcase thisform.refreshreturn 注意:供查询的表必须要有记录。 4 4)设计一个具有表格)设计一个具有表格(Grid)(Grid)的数据查询表单的数据查询表单 新建一个表单,在表单的【数据环境】中加载新建一个表单,在表单的【数据环境】中加载“学生学生”数据表,数据表,将将“学生学生”数据表从【数据环境】中拖放到表单上,形成一个数据表从【数据环境】

59、中拖放到表单上,形成一个表格表格(Grd(Grd学生学生) )控件控件,【数据环境】如图,【数据环境】如图8.308.30所示。在表单上放置一个所示。在表单上放置一个标标签签(Label1)(Label1),一个文本框一个文本框(Text1)(Text1),一个命令按钮一个命令按钮(Command1)(Command1)。在。在【属性窗口】设置对象的有关属性,属性设置值见表【属性窗口】设置对象的有关属性,属性设置值见表8.278.27所示。调所示。调整标签、文本框、命令按钮和表格的大小和位置,并利用表单布局整标签、文本框、命令按钮和表格的大小和位置,并利用表单布局工具栏进行对齐,最后形成如图工

60、具栏进行对齐,最后形成如图8.328.32所示的设计界面。所示的设计界面。 图8.32 具有表格的数据查询表单的设计界面 表单界面设计完成后,启动代码编写窗口,在代码编写窗口写入如下表单界面设计完成后,启动代码编写窗口,在代码编写窗口写入如下代码:代码: l表单表单(Form1)(Form1)的的InitInit事件代码事件代码 * * * *设置表格的所有列头为居中对齐设置表格的所有列头为居中对齐thisform.grdthisform.grd学生学生.setall(alignment,2,Header).setall(alignment,2,Header) l命令按钮命令按钮(Cmdcx)

温馨提示

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

评论

0/150

提交评论