教案项目单项目编号VFP-9VFP-10项目名称面向对象程序设计控件的使用学时16课时课程名称计算机应用教材及辅助书籍使用VisualFoxPro程序设计教学目标应知面向对象程序设计相关概念,了解部分常用控件。应会常用控件的基本属性,表单的常用属性,常用事件,几个控件的使用。教学重点与难点重点常用控件的基本属性,常用事件,几个控件的使用。难点如何设计表单。注意问题讲述时要形象易于理解及实例演示。教学内容备注导入面向对象程序设计。过程一、教师演示部分。面向对象程序设计相关概念,常用控件的基本属性,表单的常用属性,常用事件,几个控件的使用。二、学习方法:介绍加演示操作,启发式。总结总结设计表单的意义。课件使用第9、10章VisualFoxPro作业1、选择题:见教材第161页。上机内容功能选择界面的设计,档案维护功能的表单设计,档案查询功能的表单设计,档案统计功能的表单设计。上机需要注意问题控件属性的正确设置上机的审核标准内容备注学生能够独立完成上述操作内容调整和反思详案备注第9章面向对象程序设计任务驱动模块:企业人事管理系统的表单界面设计任务内容:功能选择界面的设计,档案维护功能的表单设计,档案查询功能的表单设计,档案统计功能的表单设计。9.1面向对象程序设计的基本概念9.1.1基本概念1.对象:是对问题域中某个实体的抽象,是对具体的客观事物的表示.在可视化编程中,常见的对象有:表单、标签、文本框等。从可视化编程的角度来看,对象是一个具有属性和方法的实体.对象建立以后,其操作就是通过与对象的有关属性,事件和方法来描述的。2.对象的属性:是指对象的一项描述内容,用来描述对象的特征,不同对象具有不同的属性,每个对象有若干个属性描述。事件:是对象触发的行为描述,“事件”是预先定义的动作,由用户或者系统激活。4.方法:是与对象相关的过程,是指对象为实现一定功能而编写的一段代码,如果对象已经创建,便可以在应用程序的任何地方调用这个对象的方法。事件通常是已经预先有系统定义好的,而方法和属性可以无限的扩充。5.类:是一组具有相同特征的对象的抽象定义.类是一种类型的定义,它将属性和方法相统一,把具有相似特征和行为的对象形成一个个结构.对象是类的具体的例。类可以具有子类,子类继承父类的属性和方法,并可以附加自己特定的属性和方法。子类、父类和继承可以在现有的类(父类)的基础上生成新类,新类称之为子类,子类是具有继承性和扩展性的。9.1.2封装性、继承性和多态性面向对象程序设计有3个基本特性:封装性,继承性,多态性。1.封装性将对象的方法程序和属性代码包装在一起,外界无法看到。2.继承性指通过继承关系利用已有的类构造新类。3.多态性:是指用户可以将所定义的方法应用于多个类,即许多对象具有相同的方法。类与对象,基类与子类在设计一个类时,不必明确定义类的所有属性与功能,它是由系统设定的.通常在VFP中把这些类叫控件。对于VFP系统提供的类,称为基类。在基类的基础上,利用继承性,封装性设计出来自己应用系统的子类。根据用途,基类分为容器类和控件类。9.2可视化编程基础9.2容器类与控件类1.容器类:vfp基类,可以容纳别的对象。2.控件类:可以包含在容器类中的基类,不能容纳其他对象。当需要将一个控件对象放入容器中,需要引用对象时必须经过容器。引用容器中控件的方法:格式:容器对象.控件对象.属性=属性值9.2.2控件与对象详案备注VFP可视化编程就是在可视的环境下,以最快的速度和效率开发具有良好的用户界面的应用程序,实质就是利用VfP所提供的图形构件—控件,快速开发程序的输入输出屏幕界面。1.常用控件标签(Labe1)控件;文本框(TextBox)控件;编辑框(EditBox)控件;编辑框(EditBox)控件;命令按钮(CommandButton)控件;命令按钮组(CommandGroup)控件;选项按钮(OptionGroup)控件;复选框(CheckBox)控件;组合框(ComboBox)控件;列表框(ListBox)控件;页框(PageFrame)控件;OLE容器控件;微调(Spinner)控件;表格(Grid)控件;图像(Image)控件;计时器(Timer)控件;OLE绑定型控件;线条(Line)控件;形状(Shape)控件;容器(Container)控件。9.2.3对象的包容层次Vfp中的对象根据它们所基于的类的性质可分为:容器类对象和控件类对象。当一个容器包含一个对象时,称该对象是容器的子对象,而容器称为该对象的父对象。9.2.4表单对象表单是应用程序的用户界面,也是进行程序设计的基础,各种图形,图像等都是通过表单中的对象显示出来的.表单是一个容器对象。1.表单的结构;2.表单的属性;3.表单的事件与方法。9.2.5对象的引用对象的引用:是指如何在程序设计和程序运行的时候对这些对象进行控制和操作。要引用对象,需要知道它相对于容器的层次关系.引用类似于在VFP中提供对象的地址。1.绝对地址:对象的绝对引用是通过对对象的完整容器层次描述来实现的。2.相对地址:从对象层次中引用对象时用到些属性和关键字,即通过指明父对象实现。9.3常用控件的基本属性Name属性、Caption属性、AutoSize属性、Height属性、Widtht属性、Top属性、Left属性、Enabled属性、Visible属性、FontName属性、FontSize属性、FontBold、FontItalic、FontStrikethru、FontUnderline属性、ForeColor属性、BackColor属性、BackStyle属性、BorderStyle属性、Alignment属性、WordWarp属性、Style属性、Picture属性、TabIndex属性、TabStop属性、SpecialEffect属性、Value属性、InputMask属性、Stretch属性9.4程序设计的基本方法9.4.1编程基本方法(1)建立应用程序的用户界面,并在表单上安排应用程序所需的各种对象,由控件创建.(2)设置对象的属性:表单及控件的属性(3)编写方法及事件过程代码9.4.2编程步骤1.打开“表单设计器”2.“表单设计器”工具栏简介(书)3.添加控件4.修改对象的属性5.编写代码—为对象编写事件过程或方法.6.运行表单7.修改表单—3种方法:“项目管理器”,“文件”,“ModifyForm表单名”。详案备注9.5修改和定制表单控件9.5.1选择控件9.5.2控件的操作:(1)移动控件(2)缩放控件(3)删除控件(4)复制控件(5)表单上画多同类控件(6)调整和对齐控件9.5.3控制网格显示第10章控件的使用10.1标签控件与文本框控件10.1.1标签控件(Label)1.常用属性:标签控件最特有的属性为:WordWrap折行显示。2.常用事件:单击(Click)、双击(DblClick)。【例10.1】设计一个显示“欢迎同学们”和显示日期的一个小程序。(1)建立用户界面:表单中有一个标签控件:Lable1,Command1和Command2(2)设置对象的属性;(3)编写程序代码【例10.2】设计一个用标签控件实现标题放大的程序。(1)建立用户界面表单中有一个标签控件:Lable1,Command1和Command2(2)设置对象的属性;(3)编写程序代码10.1.2文本框控件(TextBox)1.常用属性(1)Text文本属性:(2)Value属性:(3)InputMask属性:(4)ScrollBars滚动条属性:(5)PasswordChar属性:6)SelStart、SelLength、SelText属性2.常用事件:文本框的常用事件有:Change、KeyPress和LostFocus。3.常用方法文本框最常用的方法:SetFocus,该方法是使指定的文本框获得焦点。【例10.4】计算圆面积。(1)建立用户界面标签控件:Lable1,Lable2,文本控件Text1、Text2和命令按钮Command1和Command2(2)设置对象的属性(3)编写程序代码【例10.5】计算长方体的体积。(1)建立用户界面(2)设置对象的属性(3)编写程序代码10.2命令按钮与命令按钮组控件10.2.1命令按钮控件(CommandButton)1.常用属性(1)Caption属性命令按钮显示的内容,可设置快捷键,例\Ok,显示〖ZZ(Z〗O〖ZZ)〗k。(2)Picture属性按钮可显示图片文件(.bmp、.Ico和.jpg)。(3)Default属性若活动表单上有两个或更多命令按钮,在按下Enter键时,指定哪个按钮做出反应。表单中只能有一个按钮Default属性设为.T.,其他的按钮Default属性必详案备注须设为.F.。(4)Cancel属性当Cancel属性设为.T.时,按此按钮与按Esc键的效果相同。表单中只能有一个按钮Cancel属性设为.T.,其他的按钮Cancel属性必须设为.F.。2.常用事件单击(Click)、双击(DblClick)。10.4计时器控件与容器控件10.4.1计时器控件(Timer)1.常用属性Interval属性指定计时器控件的Timer事件之间的时间间隔毫秒数,缺省为0,不触发Timer事件。单位:ms(0.001s),Interval=500,是0.5秒触发一次Timer事件。Interval=0:屏蔽计时器。2.常用事件Timer事件,时钟控件只有一个Timer事件,每隔Interval触发一次Timer事件。【例10.10】设计一个程序,使用标签控件来显示时钟。10.4.2容器控件(Container)在容器控件(Container)上面加上一些其他控件。这些控件随容器移动而移动,其Top和Left属性均相对于容器而言,与表单无关。