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

    可视化表单设计.ppt

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

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

    可视化表单设计.ppt

    第8章可视化表单设计,8.1面向对象程序设计简介8.2表单设计概述8.3表单设计器的使用8.4数据环境与数据绑定8.5常用表单控件8.6表单集与多重表单,8.1面向对象编程简介,8.1.1面向对象程序设计概述面向对象程序设计(OOP):将客观事物称为对象,对对象的抽象得到类。面向对象程序设计的主要工作有两部分:一是创建类,包括定义类中的成员和类提供的功能(即方法)二是通过类创建对象,并按应用程序的需求建立对象之间的协同工作能力。OOP方式不再是以操作和过程作为程序设计的中心,而是将对象和数据结构作为程序设计的中心。,1.对象(Object)对象是类的运行实例,客观世界里的任何实体都可以被看作是对象。对象可以是具体的事物,也可以指某些概念。从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上程序中的对象就是对客观世界中对象的一种抽象描述,8.1.2对象与类的概念,2.属性:对象所具有的特征被称为对象的属性。每个对象都有多个属性,如对象的显示标题、对象的名称、对象的前景色背景色、对象的文本大小等。3.方法:描述对象行为的过程。即程序代码4.事件:是一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。事件集是固定的,用户不能定义新的事件。当用户执行相应的操作时都会引发一个事件。5.类:类是一种对象的归纳和抽象,是对一类相似对象的性质描述,这些对象具有相同种类的属性(变量)以及方法(函数),8.1.3对象与类的特性,1.封装性对象的属性与方法被封装在一个独立的一段源代码中,对其中的数据的访问必须通过方法实现,不能直接访问。2.层次性类具有层次性,在一个类的基础上通过添加一些属性和方法可以得到一个新的类,称原来的类为基类或父类,产生的新类为派生类或子类。子类继承了父类的所有属性和方法。,3.继承性即子类具有父类的所有属性和方法。对父类所作的修改会被子类自动继承。4.抽象性用户对对象进行操作时,可忽略对象内部的实现细节。5.多态性同一类的对象可以有不同的表现形式。,8.1.4VisualFoxpro的基类,Visual FoxPro提供了一系列的基本对象类,称为基类(Base Class)。每个对象都有各自的属性和方法。基类的分类:基类一般可分为控件类和容器类控件类:该类的对象必须作为一个整体来访问或处理。如命令按钮和文本框等。容器类:该类对象可以容纳控件类对象,可以单独对其中的组件进行修改和操作。如表单、命令按钮组、页框等。,1控件类控件:通常是指容器类对象内的一个图形化的、并能与用户进行交互的对象。常见的控件类对象见下表,2容器类常见的容器类对象见下表,一个对象被创建后,对对象的操作主要是访问其属性及调用其方法。这些操作通过对该对象的引用进行。其基本格式为:对象引用.属性 对象引用.方法其中对象引用分为绝对引用和相对引用1.绝对引用从最顶层的容器开始的引用。如:FormSet1.Form1.CommandGroup1.Command.Enabled=.f.,8.1.5对象的引用,2.相对引用,引用时使用下面关键字的引用,【例8.1】对象的相对引用thisform.refreshthisform.Label1.Caption=你好,信息世界this.value=3,8.2表单设计概述,8.2.1 创建表单的途径1.使用表单向导创建表单2.在表单设计器中使用表单生成器创建表单3.使用表单设计器创建表单4.通过编写程序创建表单打开表单设计器的方法:1.通过“文件/新建/表单/新建”2.使用命令:create form 表单文件名,8.2.2表单的修改与运行,1.表单的修改(1)菜单方式:通过文件菜单的打开命令(2)命令方式:modify form 表单文件名2.表单的运行(1)菜单方式打开表单后使用工具栏中的!,或使用表单菜单中的执行表单命令(2)命令方式do form 表单文件名 with 参数表说明:参数是传给Init事件代码中的PARAMETERS或LPARAMETERS中的参数。,8.2.3常用表单事件与方法,1.常用表单事件:(1)Init事件在对象建立之前引发,在表单的Init事件前引发(2)Activate事件当一个表单、表单集或页面成为当前活动对象时引发(3)Destroy事件在控件对象释放时表单对象的Destroy事件之前引发(4)Load事件在表单对象被创建之前即Init事件之前引发(5)Unload事件在表单对象的Destroy事件后引发(6)Error事件:出错时引发(7)GotFocus事件:对象被选定时引发(8)Click事件:单击时引发,2.常用表单方法(1)Relase方法:将表单从内存中释放。ThisForm.Release表单运行时,用户单击表单右上角的关闭按钮,系统会自动执行Relase方法。(2)Refresh方法:刷新表单。(3)Show方法:显示表单。该方法将表单的Visible属性设置为.T.。(4)Hide方法:隐藏表单。(5)SetFocus方法:使对象成为活动对象。,8.2.4使用表单向导创建表单,1.创建单表表单【例8-2】使用表单向导创建一个可维护职工档案表zgda.dbf的表单2.创建一对多表单【例8-3】使用student表和borrow表创建一个一对多表单,8.3 表单设计器的使用,操作步骤1.启动表单设计器创建空表单2.指定数据源(不是必须)3.添加控件4.设置控件属性5.添加代码6,运行表单,8.3.1表单设计器的启动8.3.2表单设计工具栏通过“显示”菜单中的“工具栏”命令可打开或关闭工具栏。1.表单设计器工具栏2.表单控件工具栏3.布局工具栏4.属性窗口5.代码窗口,8.3.3表单生成器在表单设计器中通过下面方法之一可以打开表单生成器:1.单击“表单设计器”工具栏中的”表单生成器“按钮”2.从快捷菜单中选择“生成器”命令3.从“表单”菜单中选择“快速表单”命令【例8-4】使用“表单生成器”快速生成一个职工档案表单。样式选择“新奇式”,8.3.4用表单设计器设计表单,主要操作步骤1.使用“文件/新建”命令新建一个空表单2.向数据环境中添加表(当表单中要使用表时)3.向表单中添加控件,并对控件进行合理布局4.选择控件,修改控件的属性5.为命令按钮添加事件代码6.运行表单,【例8-5】设计一个名为“身分验证”的应用程序的密码输入对话框。要求用户输入的密码字符自动显示为“”。密码正确,显示“密码正确,欢迎进行本系统!”,否则,显示“密码错,禁止进行本系统!”,最多允许输入3次密码。要点:1.使用表单完成,表单中要添加:一个标签控件、一个文本框控件、二个命令按钮2.修改控件的属性:控件上显示的文字,文本框输入的内容显示为*号3.要给命令按钮添加代码,使其完成指定的功能。操作步骤:1.创建空表单,2.向表单中添加控件,3.修改控件的属性,4.添加代码,控件的属性,添加代码,Form1对象的Load事件代码:public ii=0Command2对象的Click代码:thisform.text1.value=,Command1对象的Click代码:i=i+1if i3 if thisform.text1.value=3721 messagebox(密码正确,欢迎进行本系统!)thisform.release else messagebox(密码错,重新输入!)thisform.text1.value=endifelse messagebox(密码错,禁止进行本系统!)this.enabled=.f.endif,8.4数据环境与数据绑定,8.4.1数据环境数据环境指表单或表单集中使用的数据源,即表单或表单集中所有用到的数据所在的表。1.启动“数据环境设计器”通过表单设计器工具栏中的数据环境按钮或显示菜单中的“数据环境”命令2.向数据环境添加表或视图使用快捷菜单中相应命令添加,3.在数据环境中设置关系方法:将主表中的字段拖动到子表中的相应索引字段上即可。8.4.2数据绑定即为表中的控件指定相关的数据源。通常由控件的ControlSource属性指定8.4.3向表单添加字段直接将数据中的字段拖动到表单中。,8.5常用表单控件,8.5.1标签与命令按钮1.标签用于显示静态文本(运行后不能改变的文字),一般用于提示。文本内容保存在Caption属性中。标签的主要属性有:Caption,Autosize,Fontsize,Forecolor,BackStyle,BackColor,Name,Alignment,2.命令按钮,Caption属性内容为命令按钮上显示的内容。添加命令按钮的操作主要有:设置Caption属性(后面加E可以将E设置为热键)和输入代码(Click事件),【例8-6】设计一个简单表单,含一个显示“欢迎使用档案管理系统”文字的标签以及“进入”、“退出”两个命令按钮,1.文本框(TextBox)和编辑框(EditBox)的区别相同之处:都可以由用户直接输入数据与编辑数据,输入的数据保存在Value属性中。不同之处:文本框只能输入一行文本,编辑框可以输入多行文本(有滚动条);文本框可以输入字符型(默认类型)、数值型、日期型和逻辑型数据,而编辑框只能输入字符型数据。要使得文本框中输入的数据为某一确定的类型,必须先设置其Value属性值为该类型的数据或通过文本框生成器设置其属性。,8.5.2文本框和编辑框,添加文本框和编辑框后的主要操作:1.设置框中的默认值:在Value属性中设置,设置后的值要运行时才能看见。2.右击文本框控件或编辑框控件,从快捷菜单中选择“生成器”,然后在生成器对话框中设置其格式及与其对应的字段等。【例8-7】设计一个如图8-21所示的“日期与时间”表单,只含一个文本框,逐次单击之,即可轮流显示系统当前的日期或时间。日期格式为年月日,日期分隔符为“.”,操作步骤1.通过“文件/新建”命令建立一个空表单2.向表单中添加一个文本框控件3.设置属性:设置Form1的Caption属性为“日期与时间”4.添加代码:双击表单空白处,添加Form1的Load事件代码如下:public ii=.t.,4.修改文本框Text1的属性:FontSize 为28BackStyle为15.编写文本框Text1的Click事件代码如下:if i=.t.thisform.text1.value=date()&取得当前日期thisform.text1.dateformat=12&日期格式为年月日thisform.text1.datemark=.i=.f.elsethisform.text1.value=time()i=.t.endif,【例8-7】设计一个如图8-22所示的表单,在职工档案表中查询指定姓氏的职工姓名,并将结果显示在编辑框中。操作要点:1.向数据环境中添加表2.创建表单,并添加2个标签控件、1个文本框控件、1个编辑框控件、2个命令按钮并修改其标题属性3.添加命令按钮的Click事件代码。其中查找按钮的代码主要功能是在表中查找与文本框中输入的姓氏相符的姓名,并将其累加到编辑框的value属性中。,set exact off作用:设置字符串的非严格匹配并将光标定位到文本框中。执行时间:当表单激活时执行,Form1的Activate事件代码,查询命令按钮代码,thisform.edit1.value=xs=alltrim(thisform.text1.value)go topk=0scan for zgda.姓名=xsthisform.edit1.value=thisform.edit1.value+zgda.姓名+chr(13)k=1endscanif k=0messagebox(职工表中无此姓氏,0,查找失败)endifthisform.text1.value=return,退出命令按钮代码,release thisform,8.5.3列表框和组合框,1.列表框和组合框的区别共同之处:列表框(ListBox)和组合框(ComboBox)都有一个供用户选择的列表。不同之处:列表框中内容只能选择不能输入,当其内容不能完全显示时在其右边有一个滚动条。而组合框则可进行输入操作(Style属性必须为0),也可通过其右边的下拉按钮进行选择。,2.列表框生成器与组合框生成器列表框与组合框控件的主要操作是添加列表内容,添加的方法可以通过各自的生成器进行。3.列表框与组合框的数据源通过修改其RowSourseType(列表内容的来源类型)和RowSourse(列表内容)属性使其与表中的字段建立关联。,【例8-9】设计一个表单,将职工档案表zgda.dbf中所有记录的姓名显示在一个列表框中,当选择某一姓名后,将选择的姓名显示在一个文本框中。操作要点:1.建立一个空表单,然后添加一个标签控件、一个文本框控件和一个列表框控件2.向数据环境中添加表zgda3.修改控件的属性标签控件的Caption为“姓名”将列表框控件的RowSourceType属性为6字段,RowSource属性为zgda.姓名,4.编写列表框(List1)的InteractiveChange事件代码(交互式改变:当鼠标单击或使用键盘的移动键时激发)如下:thisform.text1.value=this.value,8.5.4复选框与选项按钮组,复选框(CheckBox)又称多选框,选项按钮组(OptionGroup)又称单选框1.复选框只有选定与末被选定两种状态,可以与逻辑型字段建立关联,选择Value值为1逻辑型字段值为.T.未选择Value值为0逻辑型字段值为.F.复选框有三种不同的外观:方框、文本按钮和图形按钮,(1)方框Style属性为0,Caption属性值为复选框右边文字。(2)文本按钮Style属性为1.Picture取默认值(无)Caption属性值为复选框上的文字。此种复选框被选定时,文本按钮呈按下状态。(3)图形按钮Style属性为1.Picture属性为图形文件名,删除Caption属性值。此种复选框被选定时,图形按钮呈按下状态。,2.选项按钮组单选按钮(选项按钮组):每次可从多个待选项中选择其中一个。可以通过生成器设置OptionGroup1.value的值为组中按钮的序号:OptionGroup1.value=1选择option1OptionGroup1.value=2选择option2单选按钮可以与数值型字段建立关联。方法:在属性窗口中选择ControlSourse属性值为相应的数值型字段设置组中按钮的个数:设置其BottonCount属性为相应的数字,然后将Autosize属性设为.T.,【例8-10】设计一个表单,对随意输入在文本框中的文字,可选择不同的字体进行显示操作步骤:1.建立一个空表单2.添加2个标签控件,一个文本框,一个选项按钮组和一个命令按钮3.设置属性:修改标签控件和命令按钮的Caption属性及字号分别为:请输入文本内容、请选择字体、关闭,字号为184.通过生成器设置选项按钮组:数目设置为4.标题分别为:黑体、宋体、隶书和楷体_2312,5.编写选项按钮组OptionGroup1的Click事件代码:DO CASECASE This.value=1 thisform.text1.fontname=黑体CASE This.value=2 thisform.text1.fontname=宋体CASE This.value=3 thisform.text1.fontname=隶书CASE This.value=4 thisform.text1.fontname=楷体_2312endcase6.编写Command1的Click事件代码如下thisform.release,8.5.5命令按钮组,命令按钮组同时添加多个命令按钮,按钮个数可以通过BottonCount属性设置,按钮的名称可以通过在属性窗口中选择各个按钮名称(Command1.Command2)后设置其Caption属性,【例8-11】向由例8-4建立的表单添加三个命令按钮,其作用分别是:上页、下页、退出即单击按钮后将显示:上一条记录、下一条记录或关闭表单。操作步骤:1.打开表单2.添加一个命令按钮组3.打开命令按钮组的生成器对话框,将按钮数目设置为3.按钮标题分别为上页、下页、退出,在布局中设置按钮布局为水平。,4.为命令按钮组(Commandgroup1)的Click事件编写代码:,DO CASE CASE THIS.VALUE=1 go top mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t.,CASE THIS.VALUE=2 skip-1 mand3.enabled=.t.mand4.enabled=.t.if bof()mand1.enabled=.f.mand2.enabled=.f.endif,CASE THIS.VALUE=3 skip mand1.enabled=.t.mand2.enabled=.t.if eof()mand3.enabled=.f.mand4.enabled=.f.endif,CASE THIS.VALUE=4 go bottom mand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.f.mand4.enabled=.f.endcasethisform.refresh,DO CASE CASE THIS.VALUE=1 go top mand1.enabled=.f.mand2.enabled=.f.mand3.enabled=.t.mand4.enabled=.t.CASE THIS.VALUE=2 skip-1 mand3.enabled=.t.mand4.enabled=.t.if bof()mand1.enabled=.f.mand2.enabled=.f.endif CASE THIS.VALUE=3 skip mand1.enabled=.t.mand2.enabled=.t.if eof()mand3.enabled=.f.mand4.enabled=.f.endif CASE THIS.VALUE=4 go bottom mand1.enabled=.t.mand2.enabled=.t.mand3.enabled=.f.mand4.enabled=.f.endcasethisform.refresh,8.5.7计时器,计时器(Timer)控件是用于表单中控制时间的控件。计时器在运行时不可见,使用计时器控件主要有个要素:Timer事件代码:用于设定该事件触发时要执行的动作。Interval属性:表示触发Timer事件的时间间隔,单位为毫秒。Enabled属性:值为.T.时启动计时器,为.F.时终止。,【例8-12】计时器应用示例。创建一个表单,在表单上部设计一个向左移动的字幕,在表单下部显示当前的数字时钟。操作步骤:1.建立一个空表单,并添加个标签和个计时器控件2.设置属性:Label1.caption=欢迎使用本系统AutoSize=.T.FontSize=22 BackStyle=0Label2.AutoSize=.T.BackStyle=0Timer1.Interval=200 Timer2.Interval=1000,3.添加Timer1的Timer事件代码如下if thisform.label1.left+thisform.label1.width0elseendif添加Timer1的Timer事件代码如下:if thisform.label2.caption!=time()thisform.label2.caption=time()endif,8.5.7表格,表格(Grid)控件可用来在表单或页框中显示与修改数据表中的记录。表格由若干行和若干列组成,列由列标题和列控件组成。1.由数据环境创建表格将数据环境中的表直接拖动到表单中即可。2.用表格生成器创建表格在表单中创建了表格后,使用表格生成器可设置表格。,8.5.8页框,页框(PageFrame):是可包含多个页面的容器类控件,主要用于建立具有多个选项卡的对话框。页框的主要属性有:PageCount:页框中所包含的页面的个数。TabStyle:页框中的选项框是平均分布(0)还是在左边(1)ActivePage:指定页框中活动页的页码。TabStretch:单行(1)或多行(0)显示页面标题。,【例8-13】页框应用示例。设计一个包含两个页面的“职工信息查询”表单,一个页面用于显示查询到的职工的基本信息,另一个页面用来显示职工的简历和照片。操作要点:1.创建一个空表单,向表单中添加标签控件、文本框、命令按钮和页框控件各1个2.向数据环境中添加表3.修改控件的属性(caption属性,页框控件的pagecount属性为2)4.编辑页框:从页框控件的快捷菜单中选择编辑。选择第1个页框,将数据环境中的相应字段拖动到页框中,对第2个页框做相同的操作,添加代码,Form1的Activate事件代码set exact on,command1的click事件代码,cz=alltrim(thisform.text1.value)n=recno()go topscan for zgda.编号=cz or zgda.姓名=cz returnendscanmessagebox(查无此人!,0,查找失败)go nthisform.text1.value=return,8.5.9ActiveX控件与ActiveX绑定控件,ActiveX控件就是符合ActiveX标准的控件,通过表单控件工具栏中的按钮可以向表单中插入ActiveX控件,或直接插入OLE对象。1.ActiveX控件【例8-13】创建一个电子日历表单用于日历2.ActiveX绑定控件该控件可用于显示数据表中的通用型字段中的内容。操作方法是:添加该控件后修改其ControlSource属性为指定的字段。,1.线条(Line)主要用于在表单上画各种直线与斜线,其主要属性有:Width宽度 Height高度BorderWidth 线条的粗细BorderColor 线条的颜色BorderStyle 线条的风格:实线、虚线或点划线LineSlant 线条的倾斜情况有/和两种,8.5.10 其他控件,2.形状(Shape)用于绘制矩形、正方形、圆或椭圆等,主要属性有:Curvature:曲率,当其值为0时绘制的是正方形或矩形,为1到99时绘制的是圆或椭圆Width:宽度Height:高度当宽度与高度相等时为正方形或圆3.图像(Image)用于在表单上添加由图像文件生成的图像,图像文件由Picture属性指定,4.容器(container)容器控件可以包含多个不同类型的控件,并把它们当作一个整体处理。向容器中添加控件的方法是:右击容器控件从快捷菜单中选择编辑添加控件。若不是在编辑状态下添加的控件,则不被包含在容器中,也不允许将表单中的其余控件复制到容器中。,5.超级链接控件例1.在表单中添加一超级链接控件和一个标签控件,2.设置标签控件的Caption属性为:校园网主页3.在其Click事件中添加如下代码:thisform.hyperlink1.navigateto()设置Tab顺序:选择显示菜单中的“Tab键次序”后在表单中按序单击,6.微调控件(Spinner),微调控件用于在表单中接收指定范围内的数据其主要属性有:,【例8-16】设计一个可实现用微调控件来控制标签文字大小的表单操作方法:1.创建一个空表单,向表单中添加一个标签控件、一个微调控件和一个命令2.修改标签控件的Caption属性和微调控件的上、下限及增减值3.编写微调控件的InteractiveChange事件代码如下:thisform.label1.fontsize=this.value命令按钮的Click事件代码:thisform.release,8.6表单集与多重表单,8.6.1表单集表单集(FormSet)是将多个表单放在同一个.scx文件中。其操作方法是:1.创建一个新表单2.执行“表单”菜单中的“创建表单集”命令3.执行“表单”菜单中的“添加新表单”命令4.在不同的表单中插入不同的控件各表单可用同一个数据表,8.6.2多重表单,1.单文档界面和多文档界面单文档界面:应用程序窗口只能显示一个文档窗口。如记事本多文档界面:应用程序窗口可显示多个文档窗口。如WORD2.不同类型的表单(1)顶层表单:适用于单文档应用程序,可作为应用程序的初始界面或其它表单的父表单(2)子表单:用来创建一个MDI应用程序窗口3.表单类型的指定:设置其ShowWindows属性,

    注意事项

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

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




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开