《VisualFoxpro程序设计教程.ppt》由会员分享,可在线阅读,更多相关《VisualFoxpro程序设计教程.ppt(34页珍藏版)》请在课桌文档上搜索。
1、2023/3/20,1,第11章,表单设计与应用,2023/3/20,滕永晨,2,11.1 表单的建立与运行,表单的创建是一个全新的领域。创建表单的过程,就是定义控件的属性,确定事件或方法、代码的过程。表单就是一个容器,它可以容纳多个控件。11.1.1 用表单设计器创建表单 Create form.scx,2023/3/20,滕永晨,3,创建表单的操作步骤,文件,新建,表单,表单设计器,显示,表单控件,属性,代码,保存,运行,2023/3/20,滕永晨,4,11.1.2 用表单向导创建表单 在Visual FoxPro系统中,除使用表单设计器创建新的表单外,还可以使用表单向导创建新的表单,不过
2、由表单向导创建的只能是数据表单。,2023/3/20,滕永晨,5,11.1.3 表单的运行,有3种方法可以运行表单:(1).直接使用命令。在命令窗口,直接输入命令:DO FORM 表单名(2).在表单设计器窗口,选择“表单”菜单中的“运行”命令,或直接单击工具栏中的红色惊叹号。(3).在项目管理器中,选中“文档”选项卡并指定要运行的表单,单击“运行”按钮。,2023/3/20,滕永晨,6,11.2 表单的操作,11.2.1表单的属性 1.常用表单属性 表单属性很多,但绝大多数很少用到。表11.3中列出了有关表单的一些重要属性,这些属性规定了表单的外观和行为,经常在表单设计时用到。请大家参考表1
3、1.3。,2023/3/20,滕永晨,7,2.创建新属性 可以根据需要向表单添加任意的新属性和新方法,并像用表单的其他属性和方法那样引用它们。步骤如下:(1).选择“表单”菜单中的“新建属性”命令,打开“新建属性”对话框。(2).在“名称”框中输入属性名称。新建的属性同样会在属性窗口的列表框中显示出来。,2023/3/20,滕永晨,8,3.创建新方法向表单添加新方法的步骤如下:(1).选择“表单”菜单中的“新建方法程序”命令,打开“新建方法程序”对话框。(2).在“名称”框中输入方法名,有选择地在“说明”框中输入新建方法的说明信息。,2023/3/20,滕永晨,9,11.2.2 常用事件与方法
4、,1.基类的最小事件集(1).Init.事件:Init代码通常用来完成一些关于表单的初始化工作。(2).Destory事件:该方法代码通常用来进行文件关闭、释放内存变量等工作。(3).Error事件:事件发生时,系统会把发生的错误类型和错误发生的位置等参数传递给事件代码,事件代码可以据此对错误进行相应的处理。,2023/3/20,滕永晨,10,2.表单事件 以下3个事件用于表单和表单集:(1).Load事件:该事件代码从表单装入内存至表单被释放期间仅被运行一次。(2).UnLoad事件:在表单被释放时发生,是释放表单或表单集的最后一个事件。(3)Activate事件:该事件代码从表单装入内存至
5、表单被释放期间可被运行多次。,2023/3/20,滕永晨,11,3.鼠标事件(1).Click事件:鼠标左键单击对象时发生的事件。(2).DblClick事件:鼠标左键双击对象时发生的事件。(3).RightClick事件:鼠标右键单击对象时发生的事件。(4).MouseMove.事件:用户在一个对象上移动鼠标时发生。(5).MouseDown.事件:当用户在一个对象上按下一个鼠标键时发生。(6).MouseUp.事件:当用户在一个对象上释放一个鼠标键时发生。,2023/3/20,滕永晨,12,4.键盘事件(1).KeyPress事件。(2).InteractiveChange事件。(3).P
6、rogrammaticChange事件。5.焦点事件(1).GotFocus事件。(2).LostFocus.事件。(3).When.事件。(4).Valid.事件。,2023/3/20,滕永晨,13,6.其他事件Timer.事件:适用于计时器。当经过Interval.属性中指定的毫秒数时发生。7.常用方法(1).Show方法.和Hide方法。(2).Release方法。(3).Refresh方法。(4).SetFocus方法。,2023/3/20,滕永晨,14,11.2.3 控件的操作与布局,1.控件的基本操作(1).选定控件:要选定单个控件,只要用鼠标单击该控件即可。(2).移动控件:先选
7、定控件,然后用鼠标将控件拖动到所需要的位置即可。(3).调整控件大小(4).复制控件(5).删除控件,2023/3/20,滕永晨,15,2.控件布局 利用控件布局工具栏中的按钮,可以方便地调整表单窗口中被选控件的相对大小或位置。控件布局工具栏中各按钮功能如表10.4所示请大家参看教材。3.设置Tab键次序 Visual.FoxPro提供了两种方式来设置Tab键次序:交互方式和列表方式。,2023/3/20,滕永晨,16,11.2.4 表单的数据环境,1.游标类对象 游标对象用来定义临时表的相关信息。游标类只支持.Init、Destory、Error.等3个事件。2.关系类对象 如果表单所关联的
8、表多于一个,数据环境容器中有一个关系对象用来定义这几个表间的关系。关系对象也只有.Init、Destory、Error.等3个事件。,2023/3/20,滕永晨,17,3.数据环境对象 数据环境是一个对象,有自己的属性、方法和事件。常用的两个数据环境属性是:AutoOpenTables和AutoCloseTables。除Init、Destory、Error等3个事件外,数据环境还支持两个事件和两个方法:BeforeOpenTable()事件,AfterCloseTable()事件;CloseTable方法,OpenTable方法。,2023/3/20,滕永晨,18,4.打开数据环境设计器 在表
9、单设计器环境下,单击表单设计器工具栏上的“数据环境”按钮或选择Visual.FoxPro“显示”菜单中的“数据环境”命令,即可打开数据环境设计器。5.向数据环境添加表或视图 6.从数据环境移去表或视图7.在数据环境中设置关系8.在数据环境中编辑关系9.向表单添加字段,2023/3/20,滕永晨,19,11.3 常用表单控件,11.3.1 添加表单控件 表单中添加什么样的控件是根据需求决定的,一旦确定了控件的类型,就要定义控件的属性、确定事件和方法代码。,2023/3/20,滕永晨,20,2023/3/20,滕永晨,21,11.3.2 表单控件的属性1标签控件“标签”控件是按一定格式显示在表单上
10、的文本信息,用来显示表单中各种说明和提示信息。一旦“标签”控件的属性、事件和方法被定义,输出信息将根据这些定义,按指定的格式输出。“标签”控件的属性主要包括:“标签”的大小及颜色,“标签”所显示的文本内容、字体、大小和风格等。,2023/3/20,滕永晨,22,2文本框控件“文本框”控件主要用于表中非备注型和通用型字段值的输入、输出,以及内存变量赋值和输出等操作。“文本框”控件与“标签”控件最主要的区别在于它们使用的数据源是不同的。,2023/3/20,滕永晨,23,“标签”控件的数据源来自于其“Caption”属性,“文本框”控件的数据源来自于其“Control Source”属性,可以是表
11、中的非备注型、通用型字段和内存变量。“文本框”控件的属性主要包括:“文本框”的大小,“文本框”中输入、输出信息字体的大小、风格和颜色等。,2023/3/20,滕永晨,24,3计时器控件“计时器”控件主要是利用系统时钟来控制某些具有规律性、周期性任务的定时操作。“计时器”控件不能单独使用,必须与表单、容器类或者控件类一同使用。如果在表单打开时就启动计时器,要定义Enabled属性值为(.T.);如果定义Enabled属性值为(.F.)时,可以通过触发“命令按钮”控件中的Click事件启动计时器。,2023/3/20,滕永晨,25,4命令按钮控件“命令按钮”控件主要用来控制程序的执行过程,以及对表
12、中数据的操作等。“命令按钮”控件的属性主要包括:“命令按钮”的大小,“命令按钮”显示文本的内容,显示文本字体的大小、风格和颜色等。“命令按钮”控件的动作响应,主要由“命令按钮”的Click事件代码决定。,2023/3/20,滕永晨,26,5组合框控件“组合框”控件由一个列表框和一个编辑框组成。它主要用于从列表项中选取数据,并将数据显示在编辑窗口中的操作。“组合框”控件的属性主要包括:“组合框”控件的大小,以及“组合框”输出信息字体的大小、风格等。,2023/3/20,滕永晨,27,6单选按钮控件 在系统程序中“单选按钮”控件是成组出现在表单中的,用户可以从一系列的选项中选择其中的一个选项,完成
13、系统程序的某一操作。“单选按钮”控件事实上是“单选按钮组”控件的一个个体,它必须在“单选按钮组”控件创建时同时产生和定义完成。“单选按钮组”控件的属性主要是“单选按钮”的个数及按钮的次序。,2023/3/20,滕永晨,28,7微调控件“微调”控件用来控制数值型数据的使用范围,并在规定范围内调整、选择数据。利用“微调”控件框可输入一个数据,或通过(Up、Down)按钮选择一个数据。“微调”控件的主要属性包括:微调框中输入数据的最大值、最小值,以及单击按钮的增减值。,2023/3/20,滕永晨,29,8复选框控件“复选框”是只有两个逻辑值选项的控件。当选定某一选项时,与该选项对应的“复选框”中会出
14、现一个对号。利用“复选框”逻辑状态值可以实现选择操作,以及完成对逻辑型数据的输入、输出操作。“复选框”控件的Value属性值有三种状态:当Value属性值为0时,表示没有选择复选框;当Value属性值为1时,表示选中了复选框;当Value属性值为2时,复选框显示灰色。,2023/3/20,滕永晨,30,9图像控件“图像”控件主要用于图形文件的输出。由于“图像”控件可以在程序运行的动态过程中加以控制,因此可以实现系统窗口的动态界面功能。“图像”控件的Stretch属性定义了图像的三种显示方式:当Stretch的属性值为0时,将把图像的超出部分裁剪掉;当Stretch的属性值为1时,等比例填充;当
15、Stretch属性值为2时,变比例填充。,2023/3/20,滕永晨,31,10表格控件“表格”控件是以一种表格式的显示方式输入、输出数据的,表格中分为若干行和列。“表格”控件在一对多的表关系中经常使用。在实际应用中,通常用“文本框”控件显示父表中的记录信息,用“表格”控件显示子表中对应的多个记录信息。“表格”控件的主要属性是Columncount,用来定义表格的列数。,2023/3/20,滕永晨,32,11命令按钮组控件“命令按钮组”控件是把一些命令按钮组合在一起,作为一个控件管理。每一个命令按钮有各自的属性、事件和方法,使用时仍需独立操作某一个指定的命令按钮。“命令按钮组”控件的主要属性是Buttoncount,用来定义命令按钮组包含的命令按钮的个数。,2023/3/20,滕永晨,33,11.4 表单的应用,11.4.1系统登录表单 11.4.2数据编辑表单 11.4.3数据查询表单,2023/3/20,滕永晨,34,12页框控件“页框”控件用来把多个不同格式的容器类对象封装在一个页框中。一个页框中可以有多页对象,而在每页中又可以包含若干控件。“页框”控件的主要属性是:“页框”包含多少页、每页的标题等。,