欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    面向对象程序设计及表单设计.ppt

    • 资源ID:6435971       资源大小:648KB        全文页数:135页
    • 资源格式: PPT        下载积分:15金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要15金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    面向对象程序设计及表单设计.ppt

    第九章 面向对象程序设计及表单设计目录,9.1 面向对象程序设计的概念9.2 Visual FoxPro中的类9.3 Visual FoxPro中对象的操作9.4 表单设计 9.5 常用表单控件9.6自定义类的创建与使用,2023/10/31,经济与管理学院,2,例:设计一个窗口,如下图所示窗口中包含两个文本框,用于输入数据,还有一个命令按纽,单击它可以将两个文本框中的数相加,并在等号右边显示结果,9.1 面向对象程序设计的概念,在VFP中,窗口叫做“表单”,表单的扩展名为.scx。,2023/10/31,经济与管理学院,3,CLICK事件代码:,thisform.label3.caption=alltrim(str(val(thisform.text1.value)+val(thisform.text2.value),2023/10/31,经济与管理学院,4,事件驱动,WINDOWS程序设计主要采用的是事件驱动的方法。事件是由事件发生者触发和控制的。程序员只能定义这些事件的执行代码,主要由用户控制事件的发生顺序。,2023/10/31,经济与管理学院,5,面向对象的理论首先把现实世界中的各种事物,划分为不同的类(Class),类是抽象的概念。类有“状态”和“行为”,“状态”是类的静态属性,但可以通过动态的“行为”来改变。一个类的具体实例就是对象(Object)。类是抽象的,而对象是具体的。对象具有该类的状态和行为。,2023/10/31,经济与管理学院,6,9.1.2 对象(object)客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念。从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上程序中的对象就是对客观世界中对象的一种抽象描述。,2023/10/31,经济与管理学院,7,一般对象具有如下属性:,(1)属性(Property):属性用来表示对象的状态。在程序设计中,类或对象的“状态”或特征称为属性。属性具有属性名和属性值,通过属性名,可以访问属性值,或为属性赋值。(2)事件(Event):类或对象可能执行或发生的行为称为事件。,2023/10/31,经济与管理学院,8,(3)事件过程(Event Procedure):即对象响应某个事件所执行的程序代码。程序代码是为处理特定的事件而编写的一段程序,也称为事件代码。面向对象的程序设计的核心思路,就是为这些事件书写程序代码,在代码中改变对象的一些属性值,并让对象做出我们所期望的反应。(4)方法(Method):又称方法程序,是描述对象行为的过程。即指对象所固有的完成某种任务的功能,是对象能够执行的一个操作。因此,“方法”类似于面向过程程序设计中的“过程”和“函数”。,VFP的一些常用方法:RELEASE:从内存中释放表单或表单集。Show:显示表单Setfocus:为一个控件指定焦点Hide:隐藏表单、表单集和工具栏Quit:推出VFP的一个实例。,2023/10/31,经济与管理学院,9,从面向对象的理论看,“方法”与“事件”本质上是相同的。“事件”可以看成系统预先定义的空“方法”,可以在事件中调用用户定义的方法,也可以在用户自定义方法中激活特定事件。但在VFP中,“方法”在很多情况下更基本,因为VFP预先定义了一些方法,可以在事件中调用它们,而它们一般不调用事件。,2023/10/31,经济与管理学院,10,类(class)1.概念 类是对一类相似对象的性质描述,这些对象具有相同种类的属性以及方法。为了便于开发系统,面向对象的开发工具一般都会提供很多预先定义好的类和对象,并为这些类和对象预先设置足够多的属性和事件,以及足够多的方法,供程序员自由调用。,2023/10/31,经济与管理学院,11,类的结构,Eg:TEXTBOX类的一些常用属性:Alignment:设置文本的对齐方式。Fontsize:指定字体的大小。Value:文本框中的任何数据类型的值,或者字段或变量的数据类型。,2023/10/31,经济与管理学院,12,2.子类与继承 在面向对象的方法里,继承就是一个类可以在另一个类的基础上建立,继承该类的所有属性和事件。被继承的类称为父类,继承父类建立的类称为子类。在子类中,不仅可以继承父类的所有特性,而且还可以增加自己的属性和方法程序。一个子类的成员一般包括:(1)从其父类继承的属性和方法;(2)由子类自己定义的属性和方法。,2023/10/31,经济与管理学院,13,类可以实现多层次的继承关系。例如:类继承了类,类又继承了类。因此,类既是类的子类,也是类的父类。在一个层次结构中,如果有一个类,所有的其他的类都是由它直接或间接派生出来的,这个类就称为基类。,2023/10/31,经济与管理学院,14,2.类的特性,(1)抽象:指用语言对需要用程序解决问题的现实世界进行建模,在计算机上模拟现实世界。(2)封装:将对象的方法程序和属性包装在一起的方法,称为封装。(3)继承:子类沿用父类特征的能力。(4)多态:是指两个相关的对象解释同一个命令,但是同一个命令产生的动作却不同。,封装可以将操作对象的内部负责性与应用程序的其他部分隔离开来。Eg:当用户对一个标签对象设置CAPTION属性时,不必了解标题字符串是如何存储的。,2023/10/31,经济与管理学院,15,9.2 Visual FoxPro中的类,Visual FoxPro基类是系统本身内含的,并不存放在某个类库中。用户可以基于基类生成所需要的对象,也可以扩展基类创建自己的子类。,2023/10/31,经济与管理学院,16,9-1 Visual Foxpro基类 列表,2023/10/31,经济与管理学院,17,类的分类:按照用类创建的对象是否可视来划分,VFP的类可分为:可视类和不可视类;按照类中能否放置其他类的对象来划分,可以分为:容器类和控件类(非容器类),2023/10/31,经济与管理学院,18,容器类:可以包含其他对象,并且允许访问这些对象。容器类所能包含的对象见P218表9-2;控件类:可创建包含其他被保护对象的控件对象,是用以显示数据、执行操作或使表单更易阅读的一种图形对象。可以使用“表单设计器”的“表单控件”工具栏在表单上绘制控件。VFP中常用控件见P218表9-3。,2023/10/31,经济与管理学院,19,VFP中的每一个类,都具有至少个事件,见P219表9-5;所有这些基类,都至少具有个属性,见P219表9-4。,2023/10/31,经济与管理学院,20,9.3.1 创建对象 在程序设计中,可以使用CREATEOBJECT函数来直接生成基于某个类的对象。该函数的格式如下:CREATEOBJECT(,)函数基于指定的类生成一个对象,并返回对象的引用。,9.3 Visual FoxPro中对象的操作,2023/10/31,经济与管理学院,21,类名可以是基类,也可以是自定义类。用CreateObject()函数创建的对象是不可见的,可以使用下面的语句使其可见。Object.show或Object.visible=.T.,2023/10/31,经济与管理学院,22,Eg:formwelcome=createobject(“form”)formwelcome.show 或:formwelcome.visible=.t.,2023/10/31,经济与管理学院,23,9.3.2 对象访问对象属性访问以及对象方法调用的基本格式如下:.(参数列表),绝对引用和相对引用(后述),2023/10/31,经济与管理学院,24,【例9-1】基于Visual FoxPro的FORM类生成一个对象,然后访问该对象的一些属性和方法。Oform=CREATEOBJECT(Form)&生成一个空白表单Oform.show&显示表单Oform.caption=”演示”&修改表单的标题?”这是一个生成对象的演示程序”&在表单上输出字符串Oform.release,2023/10/31,经济与管理学院,25,9.3.3 容器与控件 Visual FoxPro 中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。容器可以被认为是一种特殊的控件,它能包容其他的控件或容器。控件是一个可以以图形化的方式显示出来,并能与用户进行交互的对象,控件类不能包含其它对象。,2023/10/31,经济与管理学院,26,VFP中的所有容器对象都有与它们相关联的记数属性和收集属性。收集属性是引用其每个被包含对象的数组,记数属性是指其包含的对象数的数值属性。每个容器的收集和记数属性根据包含在容器中的对象类型来命名,表9-2列出了容器及其相应的收集和记数属性。,2023/10/31,经济与管理学院,27,2023/10/31,经济与管理学院,28,容器对象作为父对象,可以包含子对象,子对象如果是容器对象,还可以包含下一级子对象,形成对象的层次关系,在VFP中,对象是通过容器的层次关系来引用的。引用分为绝对引用和相对引用。(1)绝对引用:从最高容器开始逐层向下直到某个对象为止的引用称为绝对引用。见P225例题9-4,2023/10/31,经济与管理学院,29,(2)相对引用:从正在为编写事件代码的对象出发,通过逐层向高一层或低一层直到另一对象的引用称为相对引用 使用相对引用常用到表9-3所列属性或关键字。,2023/10/31,经济与管理学院,30,表9-3 相对引用关键字,2023/10/31,经济与管理学院,31,【例】如果Form1中有一个命令按钮组commandgroup1,该命令按钮组有两个命令按钮:command1 和command2,label1是表单form1上的一个标签控件。如果要在命令按钮command1的事件(如单击事件)代码中修改该按钮的标题可用下列命令:this.caption=”确定”,2023/10/31,经济与管理学院,32,如果要在命令按钮command1的事件代码中修改命令按钮command2的标题可用下列命令:thisform.Cmand2.caption=取消或者mand2.caption=取消但不能写成下列命令:mand2.caption=取消,2023/10/31,经济与管理学院,33,如果要在命令按钮command1的事件代码中修改表单的标题可用下列命令:This.Parent.parent.Caption=”测试窗口”或者thisform.caption=”测试窗口”,2023/10/31,经济与管理学院,34,2023/10/31,经济与管理学院,35,9.3.4 事件 事件是一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。即类或对象可能执行或发生的行为称为事件(EVENT)与方法集可以无限扩展不同,事件集是固定的,用户不能定义新的事件。,2023/10/31,经济与管理学院,36,Visual FoxPro中常用事件有:,Load:,当表单或表单集被加载到内存中时发生的事件。,Unload:,从内存中释放表单或表单集时发生的事件。,Init:,创建对象时发生的事件。,Destroy:,从内存中释放对象时发生的事件。,Click:,鼠标左键单击对象时发生的事件。,2023/10/31,经济与管理学院,37,DbClick:,鼠标左键双击对象时发生的事件。,Rightclick:,鼠标右键单击对象时发生的事件。,GotFocus:,对象接收到焦点时发生的事件。,LostFocus:,对象失去焦点时发生的事件。,KeyPress:,当用户按下或释放键时发生的事件。,2023/10/31,经济与管理学院,38,InteractiveChange:,以交互方式改变对象的值时发生的事件。,ProgrammaticChange:,以编程方式改变对象的值时发生的事件。,2023/10/31,经济与管理学院,39,一个常用对话框函数Messagebox(),Messagebox()函数是一个与用户传送信息的内部函数,用于显示一个用户定义的对话框。它不但能给用户传递信息,同时还可以通过用户在对话框上的选择接收到用户的响应,作为继续执行程序的依据。使用格式;messagebox(显示信息,对话框类型,标题条文本),2023/10/31,经济与管理学院,40,1.对话框的显示信息 messagebox()函数中的显示信息将出现在激活的对话框中,在信息字符串中若要显示多行,则可以在文本中包含回车字符(chr(13)以移动其后的信息串到对话框中的下一行。,2023/10/31,经济与管理学院,41,2.对话框的类型 对话框类型参数实质上是由三部分组成:按钮类型(05)、图标类型(1664)和焦点选项(0512)。每一类只能选择一个值,将从三类中所选出的值相加在一起就是messagebox()函数中对话框类型参数的值。如果省略该参数,则对话框内只能显示一个缺省的确定按钮,并将此按钮设置为缺省按钮,且无图表显示出来。,2023/10/31,经济与管理学院,42,表1 按钮类型,2023/10/31,经济与管理学院,43,表2 图标类型,2023/10/31,经济与管理学院,44,表3 焦点选项,2023/10/31,经济与管理学院,45,3、标题条文本(对话框标题),默认值是“Microsoft Visual Foxpro”,2023/10/31,经济与管理学院,46,例:?messagebox(这是对话框+chr(13)+中的文字,16,这是标题),2023/10/31,经济与管理学院,47,Messagebox()函数的返回值是整数,对应用户按了哪个按纽。返回值和按纽的对应关系如下表。,返回值 对应按纽,返回值 对应按纽,1234,确定取消放弃重试,567,忽略是否,2023/10/31,经济与管理学院,48,例1:a=messagebox(是、否、取消按纽和问号图标,3+32)例2:b=messagebox(“重试、取消按纽和信息图标,第二个按纽为默认按纽”,5+64+256),2023/10/31,经济与管理学院,49,9.4 表单设计,9.4.1 表单的基本操作 表单(Form)是Visual FoxPro提供的用于建立应用程序界面的最主要的工具之一。表单相当于WINDOWS应用程序的窗口 表单可以属于某个项目,也可以游离于任何项目之外,它是一个特殊的磁盘文件,其扩展名为.scx。在项目管理器中创建的表单自动隶属于该项目。,2023/10/31,经济与管理学院,50,使用表单向导创建简易的数据表单;,1.建立表单创建表单一般有两种途径:,设计器创建或修改任何形式的表单。,2023/10/31,经济与管理学院,51,启动表单向导有以下四种途径:,打开“项目管理器”,选择“文档”选项卡,从中选择“表单”。然后单击“新建”按钮。在弹出的“新建表单”对话框中单击“表单向导”按钮。,在系统菜单中选择【文件】|【新建】命令,或者单击工具栏上的“新建”按钮,打开“新建”对话框,在文件类型栏中选择“表单”。然后单击“向导”按钮。,用表单向导设计表单:,2023/10/31,经济与管理学院,52,在系统菜单中选择【工具】|【向导】|【表单】命令。,直接单击常用工具栏上的“表单向导”图标按钮。,2023/10/31,经济与管理学院,53,启动表单设计器有三种方法:,用表单设计器设计表单:,菜单方法:若是新建表单,在系统菜单中选择【文件】|【新建】,在文件类型对话框中选择“表单”,单击“新建文件”按钮;若是修改表单,则单击【文件】|【打开】,在打开对话框中选择要修改的表单文件名,单击“打开”按钮。,2023/10/31,经济与管理学院,54,命令方法:在COMMAND窗口输入如下命令:CREATE FORM&创建新的表单或 MODIFY FORM&打开一个已有的表单,2023/10/31,经济与管理学院,55,在项目管理器中,先选择文档标签,然后选择表单,单击新建按钮。若是修改表单,选择要修改的表单,单击“修改”按钮。,2023/10/31,经济与管理学院,56,2.表单设计环境(1)设计器窗口“表单设计器”窗口内包含正在设计的表单。用户可在表单窗口中可视化地添加和修改控件、改变控件布局,表单窗口只能在“表单设计器”窗口内移动。以新建方式启动表单设计器时,系统将默认为用户创建一个空白表单,如图所示部分。,2023/10/31,经济与管理学院,57,(2)属性窗口设计表单的绝大多数工作都是在属性窗口中完成的,因此用户必须熟悉属性窗口的用法。如果在表单设计器中没有出现属性窗口,可在系统菜单中单击【显示】|【属性】,属性窗口如图所示。,页框选项卡,“对象”下拉列表框图,属性设置框,2023/10/31,经济与管理学院,58,(3)表单控件工具栏 设计表单的主要任务就是利用“表单控件”设计交互式用户界面。“表单控件”工具栏是表单设计的主要工具。默认包含21个控件、4个辅助按钮,如图所示,2023/10/31,经济与管理学院,59,(4)表单设计器工具栏 打开“表单设计器”时,主窗口中会自动出现“表单设计器”工具栏,如图所示。,2023/10/31,经济与管理学院,60,9.4.2 数据环境1.打开数据环境设计器 表单设计器环境下,单击“表单设计器”工具栏上的“数据环境”按钮,或选择【显示】|【数据环境】命令,即可打开“数据环境设计器”窗口,此时,系统菜单栏上将出现“数据环境”菜单。,2023/10/31,经济与管理学院,61,2.数据环境的常用属性 常用的两个数据环境属性是AutoOpenTables和AutoCloseTables,2023/10/31,经济与管理学院,62,3.向数据环境添加表或视图 在数据环境设计器环境下,按下列方法向数据环境添加表或视图:在系统菜单中选择【数据环境】|【添加】命令,或右键单击“数据环境设计器窗口”,然后在弹出的快捷菜单中选择【添加】命令,打开“添加表或视图”对话框,如图所示。如果数据环境原来是空的,那么在打开数据环境设计器时,该对话框就会自动出现。,选择所需表,单击“添加”,2023/10/31,经济与管理学院,63,4.从数据环境中移去表或视图 在“数据环境设计器”窗口中,选择要移去的表或视图,在系统菜单中选择【数据环境】|【移去】命令。也可以用鼠标右键单击要移去的表或视图,然后在弹出的快捷菜单中选择【移去】命令。,2023/10/31,经济与管理学院,64,5.在数据环境中设置关系 设置关系的方法为:将主表的某个字段(作为关联表达式)拖曳到子表的相匹配的索引标记上既可。如果子表上没有与主表字段相匹配的索引,也可以将主表字段拖动到子表的某个字段上,这时应根据系统提示确认创建索引。,2023/10/31,经济与管理学院,65,常用的关系属性有:RelationalExpr:用于指定基于主表的关联表达式。ParentAlias:用于指明主表的别名。ChildAlias:用于指明子表的别名。ChildOrder:用于指定与关联表达式相匹配的索引。OneToMany:用于指明关系是否为一对多关系,该属性默认为“.F.”,如果关系为“一对多关系”,该属性一定要设置为“.T.”。,2023/10/31,经济与管理学院,66,9.4.3 表单管理1.表单常用属性,2023/10/31,经济与管理学院,67,2.表单常用方法(1)Relase方法 将表单从内存中释放。比如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以在该命令按钮的Click事件中包含如下代码:ThisForm.Release 表单运行时,用户单击表单右上角的关闭按钮,系统会自动执行Relase方法。,2023/10/31,经济与管理学院,68,(2)Refresh方法:刷新表单。(3)Show方法:显示表单。该方法将表单的Visible属性设置为.T.。(4)Hide方法:隐藏表单。该方法将表单的Visible属性设置为.F.。与Relase方法不同,Hide只是把表单隐藏,但并不将表单从内存释放,之后可用Show方法重新显示表单。,2023/10/31,经济与管理学院,69,3.表单常用事件(1)Init事件:在表单创建时引发。(2)Destroy事件:在表单对象释放时引发。(3)RightClick事件:用鼠标右键单击表单时引发。,2023/10/31,经济与管理学院,70,9.4.4 添加新的属性和方法1.创建新属性 向表单添加新属性的步骤如下:,(1)在系统菜单中选择【表单】|【新建属性】命令,打开“新建属性”对话框,如图所示。,(2)在“名称”框中输入属性名称,(3)有选择地在“说明”框中输入新建属性的说明信息,2023/10/31,经济与管理学院,71,2.创建新方法 在表单中添加新方法的步骤如下:(1)在系统菜单中选择【表单】|【新建方法程序】命令,打开如图 的“新建方法程序”对话框。(2)在“名称”框中输入方法名。(3)有选择地在“说明”框中输入新建方法的说明信息。,2023/10/31,经济与管理学院,72,运行单表 1.在设计时运行表单 在设计时可采用以下方法运行表单文件:在项目管理器窗口中,选择要运行的表单,然后单击“运行”按钮。在表单设计器窗口中,在系统菜单中选择【表单】|【执行表单】命令,或单击常用工具栏上的“运行”按钮。在系统菜单中选择【程序】|【运行】命令,打开“运行”对话框,然后在运行对话框中选择要运行的表单文件,单击“运行”按钮。在命令窗口输入命令:DO FORM。,2023/10/31,经济与管理学院,73,2.在程序中调用表单 在程序中调用表单可用下列命令:DO FORM WITH 实参1,实参2,TO 变量 NOSHOW,2023/10/31,经济与管理学院,74,TO 变量:用于从模式表单返回值。WITH:用于向表单传递参数。NOSHOW:如果包含NOSHOW关键字,表单运行时将不显示,直到将表单的Visible属性被设置为.T.,或者调用表单的Show方法。,2023/10/31,经济与管理学院,75,(1)将参数传递到表单 如果要将参数传递到表单,可按如下操作:1)在表单的INIT事件中,用PARAMETERS定义形参:PARAMETERS param1,param22)在表单的INIT事件中可以直接访问参数,如果在表单的其它方法或事件中需要使用该参数,必需在表单的INIT事件中将参数保存到表单的属性或变量中。3)运行表单时,使用带WITH子句的DO FORM命令,系统会将WITH子句的实参值传递到INIT事件代码的PARAMETERS子句中的各形参。,2023/10/31,经济与管理学院,76,(2)从表单返回值 只有模式表单可返回值。要从表单返回值可按如下操作:1)将表单的WINDOWTYPE属性设置为1,使表单成为模式表单。2)在表单的UNLOAD事件中代码中,包含一个带返回值的RETURN命令。3)运行表单时,在DO FORM命令中包含TO关键字。,2023/10/31,经济与管理学院,77,(3)直接访问表单对象 表单运行后,在其释放前可通过指向表单的变量访问表单对象及表单中所有控件对象。,2023/10/31,经济与管理学院,78,9.5 常用表单控件,常用控件的公共属性:name:控件的名称,它是代码中访问控件的标识(表单或表单集除外)。Fontname:字体名。Fontbold:字体样式为粗体。Fontsize:字体大小。Fontitalic:字体样式为斜体。Forecolor:前景色。,2023/10/31,经济与管理学院,79,Height:控件的高度Width:控件的宽度。控件的高度和控件的宽度,也可在设计时通过鼠标拖曳进行可视化调整。Visible:控件是否显示。Enable:控件运行时是否有效。如果为.T.,则表示控件有效,否则运行时控件不可使用。,2023/10/31,经济与管理学院,80,9.5.1 标签(Label)控件 1标签控件的功能 标签主要用于显示固定的文本信息。2标签控件常用属性caption:指定标签的显示文本。可以在设计时设置,也可以在程序运时设置或修改。,2023/10/31,经济与管理学院,81,autosize:autosize如果为真,标签在表单中的大小由caption属性中的文本长度决定,否则其大小由WIDTH和HEIGHT属性决定。forecolor:设置标题的字体颜色。backstyle:设置标签的背景是否透明,0透明,1不透明,默认为不透明。name:标签对象的名称,是程序 中访问标签对象的标识。,2023/10/31,经济与管理学院,82,9.5.2 文本框(TextBox)控件1文本框控件的功能(1)用于显示或接收单行文本信息(不设置ControlSource属性),默认输入类型为字符型,最大长度为256个字符。(2)用于显示或编辑对应变量或字段的值(设置ControlSource属性为已有变量或字段名)。,2023/10/31,经济与管理学院,83,2文本框控件常用属性ControlSource:设置文本框的数据来源。一般情况下,可以利用该属性为文本框指定一个字段或内存变量。PassWordChar:设置输入口令时显示的字符。Readonly:确定文本框是否为只读,为“.T.”时,文本框的值不可修改。,2023/10/31,经济与管理学院,84,Value:保存文本框的当前内容,如果没有为ControlSource属性指定数据源,可以通过该属性访问文本框的内容。它的初值决定文本框中值的类型。如果为ControlSource属性指定了数据源,该属性值与ControlSource属性指定的变量或字段的值相同。,2023/10/31,经济与管理学院,85,9.5.3 命令按钮(CommandButton)控件1.命令按钮控件功能 命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等。,2023/10/31,经济与管理学院,86,2命令按钮控件常用属性 Default:命令按钮的Default属性默认值为.F.,如果该属性设置为.T.,在该按钮所在的表单激活的情况下,按Enter,可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Default属性为真。Enable:确定按钮是否有效,如果按钮的属性Enable为.F.,单击该按钮不会引发该按钮的单击事件。,2023/10/31,经济与管理学院,87,Caption:设置按钮的标题。Cancel:命令按钮的Cancel属性默认值为.F.,如果设置为.T.,在该按钮所在的表单激活的情况下,按Esc键可以激活该按钮,并执行该按钮的Click事件代码。一个表单只能有一个按钮的Cancel 属性为真。对命令按钮的使用最重要的是编写Click事件代码。,2023/10/31,经济与管理学院,88,【例】创建一个如图所示的登录窗口,并将表单保存为FORM2。,2023/10/31,经济与管理学院,89,在确定按钮的单击事件中输入如下代码:if thisform.text1.value=user1“and thisform.text2.value=123456do form mainform form2.releaseelsemessagebox(密码或用户名错误,0,提示)endif,2023/10/31,经济与管理学院,90,在取消按钮的单击事件中输入如下代码:nAnswer=messagebox(你决定退出系统吗?,4,提示)DO CASE CASE nAnswer=6 thisform.release CASE nAnswer=7messagebox(请输入用户名和密码,0,提示)ENDCASE,2023/10/31,经济与管理学院,91,命令按钮组(CommandGroup)控件1命令按钮组功能 命令按钮组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。,2023/10/31,经济与管理学院,92,2命令按钮组常用属性Buttoncount:命令按钮组中命令按钮的数目。Buttons:用于存取命令按钮组中每个命令按钮的数组,代码中可以通过该数组访问命令按钮组中的各个按钮。,2023/10/31,经济与管理学院,93,Value:默认情况下,命令按钮组中的各个按钮被自动赋予了一个编号,如1,2,3,等,当运行表单时,一旦用户单击某个按钮,则Value将保存该按钮的编号,于是在程序中通过检测Value的值,就可以为相应的按钮编写特定的程序代码。如果在设计时,给Value赋予一个字符型数据,当运行表单时,一旦用户单击某个按钮,则Value将保存该按钮的Caption属性值。,2023/10/31,经济与管理学院,94,9.5.5 编辑框(EditBox)控件 1编辑框控件的功能 用于显示或编辑多行文本信息。编辑框实际上是一个完整的简单字处理器,在编辑框中能够选择、剪切、粘贴以及复制正文,可以实现自动换行,能够有自己的垂直滚动条。,2023/10/31,经济与管理学院,95,2编辑框常用属性ControlSource:设置编辑框的数据源,一般为数据表的备注字段。Value:保存编辑框中的内容,可以通过该属性来访问编辑框中的内容。SelText:返回用户在编辑区内选定的文本,如果没有选定任何文本,则返回空串。,2023/10/31,经济与管理学院,96,SelLength:返回用户在文本输入区中所选定字符的数目。Readonly:确定用户是否能修改编辑框中的内容。Scroolbars:指定编辑框是否具有滚动条,当属性值为时,编辑框没有滚动条,当属性值为(默认值)时,编辑框包含垂直滚动条。,2023/10/31,经济与管理学院,97,复选框(CheckBox)控件1复选框的功能 用于标识一个两值状态,如真(.t.)或假(.f.)。当处于“真”状态时,复选框内显示一个对勾,当处于“假”状态时复选框内为空白。,2023/10/31,经济与管理学院,98,2复选框常用属性Value:用来指明复选框的当前状态,如下表 ControlSource属性:用于指定复选框的数据源,2023/10/31,经济与管理学院,99,9.5.7 选项组(OptionGroup)控件1.选项组控件的功能 选项组又称为选项按钮组,是包含选项按钮的一种容器。一个选项组中往往包含若干个选项按钮,但用户只能从中选择一个按钮。当用户单击某个选项按钮时,该按钮即成为被选中状态,而选项组中的其他选项按钮,不管原来是什么状态,都变为未选中状态,被选中的选项按钮中会显示一个圆点。,2023/10/31,经济与管理学院,100,2.选项组常用属性 ButtonCount:指定选项组中选项按钮的数目。Value:用于指定选项组中哪个选项按钮被选中。ControlSource:指定选项组数据源。Buttons:用于存取选项组中每个选项的数组。,2023/10/31,经济与管理学院,101,【例】命令按钮组、选项组、复选框、编辑框应用示例,按如图设计一个表单,要求:用户单击确定按钮时,在编辑框中显示用户对选项组和复选框的选择。并将表单保存为FORM3,2023/10/31,经济与管理学院,102,编写事件代码选择命令按钮组,在属性窗口中双击“CLICK EVENT”属性,系统会打开代码编写器,在代码编写器窗口为“CLICK EVENT”事件输入如下代码:if mandgroup1.value=2thisform.releaseelsecstr=你所在城市+chr(13);+thisform.optiongroup1.buttonsthisform.optiongroup1.value.caption+chr(13)cstr=cstr+你的爱好+chr(13),2023/10/31,经济与管理学院,103,if thisform.check1.value=1cstrendifif thisform.check2.value=1cstrendifif thisform.check3.value=1cstrendifthisform.edit1.value=cstrendif,2023/10/31,经济与管理学院,104,列表框(ListBox)控件 1列表框的功能 列表框提供一组条目(数据项),用户可以从中选择一个或多个条目,一般情况下,列表框显示其中的若干条目,用户可以通过滚动条浏览其他条目。,2023/10/31,经济与管理学院,105,2.选项组常用属性 RowSourceType属性与RowSource属性:RowSourceType属性指明列表框数据源的类型,RowSource属性指定列表框的数据源,两者常用的搭配如表,2023/10/31,经济与管理学院,106,2023/10/31,经济与管理学院,107,List属性:用以存取列表框中数据条目的字符串数组。例如,LIST1代表列表框中的第一行(第一个数据项)。ListCount属性:列表框中数据条目的数目 ColumnCount属性:指定列表框的列数 Value属性:返回列表框中被选中的条目,2023/10/31,经济与管理学院,108,ControlSource属性:该属性在列表框中的用法与在其他控件中的用法有所不同,在这里,用户可以通过该属性指定一个字段或变量用以保存用户从列表框中选择的结果 Selected属性:该属性是一个逻辑型数组,第N个数组元素代表第N个数据项是否为选定状态 MultiSelect属性:指定用户能否在列表框控件内进行多重选定,2023/10/31,经济与管理学院,109,【例】列表框的应用:按下图设计一个表单。要求表单运行时,LIST1列表框显示STUD表的所有字段,单击左箭头按钮时,LIST1中选择的字段加入到LIST2中。,2023/10/31,经济与管理学院,110,操作步骤:按图7-19所示在表单中加入二个列表框、二个标签、二个命令按钮。在表单的INIT事件中加入如下代码:thisform.list1.value=0 thisform.list2.value=0open database studentuse studfor i=1 to fcount()thisform.list1.additem(fields(i)nextclose database,2023/10/31,经济与管理学院,111,在左箭头按钮(COMMAND1)的CLICK事件中加入如下代码:thisform.list2.addlistitem(thisform.list1.listitemthisform.list1.value)thisform.list1.removeitemthisform.list1.value右箭头按钮(COMMAND2)的CLICK事件代码请用户自己编写。,2023/10/31,经济与管理学院,112,组合框(comboBox)控件 组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框和和列表框的主要区别在于三点:,2023/10/31,经济与管理学院,113,组合框不提供多重选择的功能,没有MultiSelect属性。,对于组合框来说,通常只有一个条目是可见的。用户可以单击组合框上的下拉箭头按钮打开条目列表,以便从中选择。,2023/10/31,经济与管理学院,114,组合框有两种形式:下拉组合框(Style属性为0)和下拉列表框(Style属性为2)。对下拉组合框,用户既可以从列表中选择,也可以在编辑区输入。对下拉列表框,用户只可从列表中选择。,2023/10/31,经济与管理学院,115,表格(Grid)控件 1表格控件的功能:表格控件用于浏览或编辑多行多列数据2表格控件常用属性RecordSourceType 和RecordSource属性:RecordSourceType指明表格数

    注意事项

    本文(面向对象程序设计及表单设计.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开