第八章 表单设计与应用优秀课件.ppt
《第八章 表单设计与应用优秀课件.ppt》由会员分享,可在线阅读,更多相关《第八章 表单设计与应用优秀课件.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章 表单设计与应用第1页,本讲稿共45页本章的主要内容本章的主要内容面向对象的基本概念面向对象的基本概念创建和管理表单创建和管理表单表单设计器表单设计器常用表单控件及应用(表单示例)常用表单控件及应用(表单示例)第2页,本讲稿共45页重点:重点:理解面向对象的基本概念,掌握表单常用控件的使用方法。理解面向对象的基本概念,掌握表单常用控件的使用方法。难点:难点:面向对象的基本概念和内容的理解。面向对象的基本概念和内容的理解。常用有关表单及控件的属性的设置和事件代码的设计。常用有关表单及控件的属性的设置和事件代码的设计。重点和难点第3页,本讲稿共45页8.1 面向对象的基本概念面向对象的基本概
2、念FoxPro以前的版本中把人机界面称为以前的版本中把人机界面称为屏幕屏幕(screen),相应的程序设计称为屏幕设计。相应的程序设计称为屏幕设计。而在而在VFP中,把这种界面称为中,把这种界面称为表单(表单(Form),相相应的程序设计称为表单设计。即表单就是用于处应的程序设计称为表单设计。即表单就是用于处理数据的人机交互界面,是理数据的人机交互界面,是Windows中所能见到中所能见到的各种对话框和窗口。但它又不是一个普通的窗的各种对话框和窗口。但它又不是一个普通的窗口。口。表单设计是面向表单设计是面向对象对象技术的具体应用。技术的具体应用。第4页,本讲稿共45页一、面向对象的基本概念一、
3、面向对象的基本概念对象对象是对现实世界中事物或实体的抽象。具体地说,对是对现实世界中事物或实体的抽象。具体地说,对象就是表单、控件、数据库、表、关联的统称。它象就是表单、控件、数据库、表、关联的统称。它可以是单个的对象,如命令按钮、文本框、编辑框可以是单个的对象,如命令按钮、文本框、编辑框等,也可以是容纳多个其它对象的容器类对象,如等,也可以是容纳多个其它对象的容器类对象,如表单、命令按钮组、选项框等。表单、命令按钮组、选项框等。每一个对象都有一系列的每一个对象都有一系列的属性、事件和方法属性、事件和方法。第5页,本讲稿共45页对象的属性、事件和方法对象的属性、事件和方法属性(属性(prope
4、rty)一般指对象的外观特征,如对象的一般指对象的外观特征,如对象的名称名称(Name)、)、标题标题(Caption)、)、字体字体(FontName)等。它们对应于属性窗口等。它们对应于属性窗口中的中的“数据数据”、“布局布局”和和“其它其它”三张选项卡。三张选项卡。可以作用两种方法设置对象的属性:可以作用两种方法设置对象的属性:进行表单设计时,在属性窗口中直接设置进行表单设计时,在属性窗口中直接设置编程时用程序代码进行设置。格式:对象名编程时用程序代码进行设置。格式:对象名.属性名属性名=新设置的新设置的属性名属性名事件(事件(Event)是在某个对象上可以发生的事件的归纳,是由是在某个
5、对象上可以发生的事件的归纳,是由VFP预先设置好的能预先设置好的能被对象所识别的动作。如被对象所识别的动作。如Click单击事件、单击事件、DblClick双击事件、双击事件、Load装载事件。装载事件。对象的事件是由系统规定好的,用户不能创建新的事件。对象的事件是由系统规定好的,用户不能创建新的事件。VFP应用程序设计的主要工作就是编写对象事件过程中的程序代码。应用程序设计的主要工作就是编写对象事件过程中的程序代码。第6页,本讲稿共45页方法(方法(mehtod)是附属于对象的行为和动作。当某个事件发生,对象就应当对是附属于对象的行为和动作。当某个事件发生,对象就应当对某个事件做出响应(某个
6、事件做出响应(Respond),),执行相关处理程序或处理执行相关处理程序或处理过程。对象用于某个事件的处理程序或过程就叫做过程。对象用于某个事件的处理程序或过程就叫做方法方法,它是,它是一段程序代码,可由系统预先定义,也可以由用户自己编写。一段程序代码,可由系统预先定义,也可以由用户自己编写。事件和方法的关系事件和方法的关系都是为了完成某个任务。但同一个事件可完成不同的任务,由所编写都是为了完成某个任务。但同一个事件可完成不同的任务,由所编写的事件过程中的代码所决定。比如,同样是命令按钮,的事件过程中的代码所决定。比如,同样是命令按钮,“开始开始”和和“退出退出”在按下后所产生的效果完全不同
7、。而方法是固定的,对之进行在按下后所产生的效果完全不同。而方法是固定的,对之进行的调用都是完成同一个任务。的调用都是完成同一个任务。调用对象方法的格式为:对象名调用对象方法的格式为:对象名.方法名方法名第7页,本讲稿共45页类(类(Class)对对对象对象的抽象描述。正如一类对象的的抽象描述。正如一类对象的模板模板。和和对象对象的关系的关系类是对象的抽象描述,对象是类的实例,即对象是类的一个具类是对象的抽象描述,对象是类的实例,即对象是类的一个具体应用。如体应用。如电话电话和和手机手机的关系就是的关系就是类类和和对象对象的关系。的关系。子类和继承子类和继承在在面面向向对对象象的的方方法法里里,
8、继继承承是是指指在在基基于于现现有有的的类类创创建建新新类类时时,新新类类继继承承了了现现有有类类里里的的方方法法和和属属性性。此此外外,可可以以为为新新类类添添加加新新的的方方法法和和属属性性。我我们把新类称为现有类的子类,而把现有类称为新类的父类。们把新类称为现有类的子类,而把现有类称为新类的父类。一个子类的成员一般包括:一个子类的成员一般包括:从其父类继承的属性和方法从其父类继承的属性和方法由子类自己定义的属性和方法由子类自己定义的属性和方法第8页,本讲稿共45页二、面向对象的程序设计(二、面向对象的程序设计(OOP)就是抽象对象、设置属性、控制事件和方法。也就就是抽象对象、设置属性、控
9、制事件和方法。也就是将现实世界的实体或事物抽象成系统中的一个封是将现实世界的实体或事物抽象成系统中的一个封装好的对象,或装好的对象,或VFP中已封装好的工具或控件,用一中已封装好的工具或控件,用一组数据(属性)描述它的特征,并且支持一组施加的操组数据(属性)描述它的特征,并且支持一组施加的操作(事件和方法)。作(事件和方法)。如打电话。如打电话。电话的颜色、大小等都是它的电话的颜色、大小等都是它的属性属性;当我们拿起话筒就发;当我们拿起话筒就发生了生了“拿起话筒拿起话筒”事件事件,正常情况下会进入,正常情况下会进入“等待拨号等待拨号”的的处理过程处理过程。当开始拨号时又发生了。当开始拨号时又发
10、生了“拨号拨号”事件,系统立事件,系统立刻进入刻进入“号码检查号码检查”处理过程,如果号码正确,则进入处理过程,如果号码正确,则进入“连连接接”处理过程,否则返回处理过程,否则返回“号码不正确号码不正确”的提示信息。的提示信息。面向对象的程序设计与此过程类似面向对象的程序设计与此过程类似第9页,本讲稿共45页8.2 8.2 VFPVFP基类简介基类简介Visual FoxPro基类是系统本身内含的,并不存放在某个类库中。用户可以基基类是系统本身内含的,并不存放在某个类库中。用户可以基于基类生成所需要的对象,也可以扩展基类创建自己的子类于基类生成所需要的对象,也可以扩展基类创建自己的子类在程序设
11、计中,可以使用在程序设计中,可以使用CREATEOBJECT函数来直接生成基于某个类函数来直接生成基于某个类的对象。的对象。该函数的格式如下:该函数的格式如下:CREATEOBJECT(,)函数基于指定的类生成一个对象,并返回对象的引用函数基于指定的类生成一个对象,并返回对象的引用 第10页,本讲稿共45页Visual FoxproVisual Foxpro基类列表基类列表类名类名含义含义类名类名含义含义ActiveDoc活动文档活动文档Label标签标签CheckBox复选框复选框Line线条线条Column(表格)列(表格)列Listbox列表框列表框ComboBox组合框组合框Oleco
12、ntrolOLE容器控件容器控件CommandButton命令按钮命令按钮OleboundcontrolOLE绑定控件绑定控件CommandGroup命令按钮组命令按钮组OptionButton选项按钮选项按钮Container容器容器Optiongroup选项按钮组选项按钮组Contorl控件控件Page页页Custom定制定制PageFrame页框页框EditBox编辑框编辑框ProjectHook项目挂钩项目挂钩Form表单表单Separator分隔符分隔符FormSet表单集表单集Shape图形图形Grid 表格表格Spinner微调控件微调控件Header(列)标头(列)标头Text
13、Box文本框文本框HyperLink超级链接超级链接Timer定时器定时器Image图象图象ToolBar工具栏工具栏第11页,本讲稿共45页 对对象象属属性性访访问问以以及及对对象象方方法法调调用用的的基基本格式如下:本格式如下:.(参数列表参数列表)第12页,本讲稿共45页容器与控件VisualFoxPro中的类一般可分为两种类型:容器类和控件类。中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。相应地,可分别生成容器(对象)和控件(对象)。容器可以被认为是一种特殊的控件,它能包容其他的控件或容容器可以被认为是一种特殊的控件,它能包容其他的控件或容器。
14、器。控件是一个可以以图形化的方式显示出来控件是一个可以以图形化的方式显示出来,并能与用户进行交互并能与用户进行交互的对象,控件类不能包含其它对象。的对象,控件类不能包含其它对象。(1)绝对引用:从最高容器开始逐层向下直到某个对象为止的引用称)绝对引用:从最高容器开始逐层向下直到某个对象为止的引用称为绝对引用为绝对引用 (2)相对引用:从正在为编写事件代码的对象出发,通过逐层向高)相对引用:从正在为编写事件代码的对象出发,通过逐层向高一层或低一层直到另一对象的引用称为相对引用一层或低一层直到另一对象的引用称为相对引用 相对引用常用到下表所列属性或关键字相对引用常用到下表所列属性或关键字第13页,
15、本讲稿共45页属性或关键字引用Parent当前对象的直接容器对象This当前对象ThisForm当前对象所在的表单ThisFormSet当前对象所在的表单集第14页,本讲稿共45页【例例】如如果果Form1中中有有一一个个命命令令按按钮钮组组commandgroup1,该该命命令令按按钮钮组组有有两两个个命命令令按按钮钮:command1和和command2,label1是是表表单单form1上上的的一一个个标签控件。标签控件。如如果果要要在在命命令令按按钮钮command1的的事事件件(如如单单击击事事件件)代代码码中中修修改改该该按按钮钮的标题可用下列命令:的标题可用下列命令:this.c
16、aption=”确定确定”如果要在命令按钮如果要在命令按钮command1的事件代码中修改的事件代码中修改command2的标的标题可用下列命令:题可用下列命令:thisform.Cmand2.caption=取消取消 或者或者 mand2.caption=取消取消 如如果果要要在在命命令令按按钮钮command1的的事事件件代代码码中中修修改改表表单单的的标标题题可可用用下列命令:下列命令:This.Parent.parent.Caption=”测试窗口测试窗口”或者或者 thisform.caption=”测试窗口测试窗口”第15页,本讲稿共45页8.3 创建和管理表单一、创建和运行表单一
17、、创建和运行表单创建表单创建表单使用表单向导创建即用表单使用表单向导创建即用表单使用表单设计器创建、设计新的表单或修改已创建的表单。使用表单设计器创建、设计新的表单或修改已创建的表单。在表单设计器环境下,调用表单生成器方便、快速地产生表单。在表单设计器环境下,调用表单生成器方便、快速地产生表单。执行执行“表单表单”菜单下的菜单下的“快速表单快速表单”命令命令单击单击“表单设计器表单设计器”工具栏上的工具栏上的“表单生成器表单生成器”按钮按钮右击表单窗口,在弹出的快捷菜单中选择右击表单窗口,在弹出的快捷菜单中选择“生成器生成器”命令。命令。运行表单运行表单在在“项目管理器项目管理器”窗口运行窗口
18、运行在表单设计器环境下,选择在表单设计器环境下,选择“表单表单”菜单中的菜单中的“执行表单执行表单”命令或工具栏命令或工具栏上的运行按钮上的运行按钮选择选择“程序程序”菜单中的菜单中的“运行运行”命令命令在命令窗口中输入:在命令窗口中输入:Doform第16页,本讲稿共45页二、表单的常用属性二、表单的常用属性属性属性描述描述默认值默认值AlwaysOnTop指定表单是否总是位于其它打开窗口之上指定表单是否总是位于其它打开窗口之上.F.AutoCenter居中显示居中显示.F.BackColor指定表单窗口的背景颜色指定表单窗口的背景颜色255,255,255BorderStyle指定表单边框
19、的风格。指定表单边框的风格。3Caption显示于表单标题栏上的文本显示于表单标题栏上的文本Form1Closable决定表单的右上角的关闭按钮是否有效决定表单的右上角的关闭按钮是否有效.T.DataSession指定表单中的表是在全局能访问的工作区打开(设置值为指定表单中的表是在全局能访问的工作区打开(设置值为1)还)还是在表单自己的工作区打开(设置值为是在表单自己的工作区打开(设置值为2)1MaxButton确定表单右上角是否有最大化按钮确定表单右上角是否有最大化按钮.T.MixButton确定表单右上角是否有最小化按钮确定表单右上角是否有最小化按钮.T.Movable确定表单是否能移动确
20、定表单是否能移动.T.Scrollbars指定表单的滚动条类型。可取值为:指定表单的滚动条类型。可取值为:0(无),(无),1(水平)(水平)2(垂(垂直)直)3(既水平又垂直)(既水平又垂直)0WindowState指定表单的状态:指定表单的状态:0(正常)(正常)1(最小化),(最小化),2(最大化)(最大化)0WindowType指定表单是模式表单(设置值为指定表单是模式表单(设置值为1)还是非模式表单(设置值为)还是非模式表单(设置值为0)。在一个应用程序中,如果运行了一个模式表单,那么在关闭)。在一个应用程序中,如果运行了一个模式表单,那么在关闭该表单之前不能访问应用程序中的其他表单
21、该表单之前不能访问应用程序中的其他表单0第17页,本讲稿共45页常用控件的公共属性常用控件的公共属性name:控件的名称,它是代码中访问控件的标识(表单或表单集除外)。控件的名称,它是代码中访问控件的标识(表单或表单集除外)。Caption:控件标题文本。控件标题文本。Fontname:字体名。字体名。Fontbold:字体样式为粗体。字体样式为粗体。Fontsize:字体大小。字体大小。Fontitalic:字体样式为斜体。字体样式为斜体。Forecolor:前景色。前景色。Height:控件的高度控件的高度Width:控控件件的的宽宽度度。控控件件的的高高度度和和控控件件的的宽宽度度,也也
22、可可在在设设计计时时通通过过鼠鼠标标拖拖曳曳进行可视化调整。进行可视化调整。Visible:控件是否显示。控件是否显示。Enable:控控件件运运行行时时是是否否有有效效。如如果果为为.T.,则则表表示示控控件件有有效效,否否则则运运行行时控件不可使用。时控件不可使用。第18页,本讲稿共45页(2)在)在“名称名称”框中输入属框中输入属性名称性名称(3)有选择地)有选择地在在“说明说明”框框中输入新建属中输入新建属性的说明信息性的说明信息向表单添加新属性的步骤如下:向表单添加新属性的步骤如下:(1)在系统菜单中选择【表单】)在系统菜单中选择【表单】|【新建属性】命令【新建属性】命令,打开打开“
23、新建属性新建属性”对话对话框,如图框,如图7-13所示。所示。l创建和创建和添加新属性添加新属性第19页,本讲稿共45页三、三、Visual FoxProVisual FoxPro中常用事件中常用事件Load:当表单或表单集被加载到内存中时发生的事件。当表单或表单集被加载到内存中时发生的事件。Unload:从内存中释放表单或表单集时发生的事件。从内存中释放表单或表单集时发生的事件。Init:创建对象时发生的事件。创建对象时发生的事件。Destroy:从内存中释放对象时发生的事件。从内存中释放对象时发生的事件。Click:鼠标左键单击对象时发生的事件。鼠标左键单击对象时发生的事件。Dbclick
24、:鼠标左键双击对象时发生的事件。鼠标左键双击对象时发生的事件。Rightclick:鼠标右键单击对象时发生的事件。鼠标右键单击对象时发生的事件。GotFocus:对象接收到焦点时发生的事件。对象接收到焦点时发生的事件。LostFocus:对象失去焦点时发生的事件。对象失去焦点时发生的事件。KeyPress:当用户按下或释放键时发生的事件。当用户按下或释放键时发生的事件。InteractiveChange:以交互方式改变对象的值时发生的事件。以交互方式改变对象的值时发生的事件。ProgrammaticChange:以编程方式改变对象值时发生的事件。以编程方式改变对象值时发生的事件。第20页,本讲
25、稿共45页四、表单中常用的方法四、表单中常用的方法Relase将将表表单单从从内内存存中中释释放放。比比如如表表单单有有一一个个命命令令按按钮钮,如如果果希希望望单单击击该该命命令令按按钮钮时时关关闭闭表表单单,就就可可以以在在该该命命令令按按钮钮的的Click事事件中包含如下代码:件中包含如下代码:ThisForm.Release 表表单单运运行行时时,用用户户单单击击表表单单右右上上角角的的关关闭闭按按钮钮,系系统统会会自自动动执执行行Relase方法。方法。Refresh 刷新表单。刷新表单。Show显示表单。该方法将表单的显示表单。该方法将表单的Visible属性设置为属性设置为.T.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 表单设计与应用优秀课件 第八 表单 设计 应用 优秀 课件
限制150内