可视化程序设计基础课件_第1页
可视化程序设计基础课件_第2页
可视化程序设计基础课件_第3页
可视化程序设计基础课件_第4页
可视化程序设计基础课件_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章可视化程序设计基础6.1面向对象程序设计基础6.2创建表单—利用表单向导

6.3表单设计器

6.4小结16.1.1基本概念和术语6.1.2面向对象程序设计特点6.1.3

VisualFoxPro基类简介6.1.4对象的引用6.1.5对象的的属性、方法和事件6.1面向对象程序设计基础26.1.1基本概念和术语类对象属性方法事件事件驱动工作方式36.1.1基本概念和术语属性(Attribute)

属性标识了对象的物理性质,决定了对象的特征和状态。方法(Method)

方法是描述对象行为的过程,是为对象完成特定功能而编写的代码。代码是由系统定义。56.1.1基本概念和术语事件(Event)

事件是系统预先定义的动作,而由用户(如鼠标单击、鼠标拖动等)或系统(如计时器)激活。当事件发生时,对象就会执行相应的事件代码,事件代码由用户编写。

事件驱动工作方式当用户进行一些动作时,系统能自动执行事件代码。66.1.2面向对象程序设计的特点封装性(Encapsulation)

将数据(属性)和处理数据方法(行为)的代码组合在一个类的定义中。类中属性和方法的细节对外是不可见的。继承性(Inheritance)

利用现有类通过继承创建新类。新类继承了现有类的属性和方法。一个子类应包含:

1)继承父类的全部属性和方法

2)子类自己定义的属性和方法多态性(Polymorphism)

指不同的对象接收同样的消息时,会导致不同的行为。76.1.3VisualFoxPro基类简介类名含义能包容的对象CommandGroup命令按钮组命令按钮Container容器任意控件类对象、页框、命令按钮组、选项按钮组、表格等对象Colunm列标头和除表单集、表单、工具栏、定时器及列以外的任意对象Form表单任意控件类对象、页框、命令按钮组、选项按钮组、表格、容器等对象容器类介绍表一96.1.3VisualFoxPro基类简介类名含义能包容的对象Formset表单集表单、工具栏Grid表格列OptionGroup选项按钮组选项按钮Page页面任意控件、页框、命令按钮、选项按钮、表格等PageFrame页框页面ToolBar工具栏任意控件、页框和容器容器类介绍表二106.1.3VisualFoxPro基类简介类名含义CheckBox复选框ComboBox组合框CommandButton命令按钮Control控件Custom定制EditBox编辑框Header(列)标题HyperLink超级链接Image图像Label标签控件类介绍表一116.1.3VisualFoxPro基类简介属性说明BaseClass基类名,说明当前类从哪个基类派生而来Class类名,说明当前对象基于哪个类生成ClassLibrary类库名,说明当前类存放在哪个类库中,若当前对象直接由基类创建,则该项为空ParentClass父库名,说明当前类从哪个类直接派生而来若当前对象直接由基类创建,则该项为空VisualFoxPro类最小属性集136.1.3VisualFoxPro基类简介VisualFoxPro基类最小事件集

事件说明Init当对象创建时激活Destroy当对象从内存中释放时激活Error基类中的事件或方法发生错误时激活146.1.4对象的引用对象是面向对象的程序设计中的最小单元,应用程序由若干个对象组成。用户在编程中使用对象的属性、调用对象的方法或调用对象的事件都需要引用对象。引用对象就是描述对象的归属层次。对象的层次关系是包容与被包容的关系,只有容器类的对象才可以包容其他对象。156.1.4对象的引用层次结构176.1.4对象的引用引用对象时必须指明该对象在嵌套层次关系中的位置。对象的引用格式中用“.”分隔对象、属性和方法。对象引用名含义Parent当前对象的直接容器(父对象)This当前对象ThisForm当前对象所在的表单ThisFormSet当前对象所在的表单集常用的对象引用名186.1.4对象的引用对象的引用有相对引用和绝对引用两种(1)相对引用:从对象的当前层次开始逐级引用。其引用关键字由This开头。例如,若当前对象是表单(Form1)

This.caption

表示引用当前对象(表单)的标题属性。又如,若当前对象是表格(Grid1)

This.Parent.Command1.caption

表示引用与当前对象(表格)同一容器中命令按钮对象的标题属性。196.1.5对象的属性、方法和事件对象的属性:是对象的数据,用来描述对象的特征和状态。不同类对象具有不同的属性集,并且同类对象中各个对象的属性值又可以各不相同。对象的方法:对象的行为和动作称为方法,一个对象可以具有若干方法,用户虽然不能修改方法中已存在的代码,但用户可以为某个方法添加新的代码,以扩展方法的功能。对象的事件:是预先定义的、由用户或系统触发的、能被对象识别和响应的动作,事件过程是用户为处理特定事件而编写的一段程序代码。216.1.5对象的属性、方法和事件属性名说明Name指定对象引用名Caption指定对象标题Value指定对象的当前值ForeColor,Backcolor指定对象的前景颜色和背景颜色FontName,FontSize指定对象文本的字体名和大小Enabled指定对象当前是否可用Visible指定对象是可见还是隐藏常用属性表一一、对象的属性226.1.5对象的属性、方法和事件属性名说明ReadOniy指定对象是否只读Height,Width,Left,Top指定对象的高度、宽度以及其与容器左边和顶边的距离ControlSource指定对象的数据源TabIndex指定页对象上各控件的Tab键次序和表单集中各表单的Tab键次序ToolTipText指定对象的工具提示文本Comment存储对象的有关信息常用属性表二236.1.5对象的属性、方法和事件设置对象属性值的编程方式:格式二:

WITH<对象名>.<属性1>=<属性值>.<属性2>=<属性值>……

ENDWITH功能:连续设置对象的多个属性。说明:①不能在交互方式下使用该语句;②并不是所有的对象属性都可以用编程方式来改变其属性值,如Name属性。256.1.5对象的属性、方法和事件方法说明Release从内存中释放表单或表单集Refresh刷新对象的屏幕显示,并刷新任何值SetAll对容器对象的全部或某一类控件设置属性SetFocus把焦点移到该对象Cls清除表单上的图形和文本Hide隐藏表单Show显示表单常用方法列表二、对象的方法266.1.5对象的属性、方法和事件事件说明事件说明KeyPress按下并释放键盘某键位时Load装载表单或表单集时InteractiveChange当使用键盘或鼠标改变控件的值时UnLoad释放表单或表单集时Error当对象运行发生错误时Init创建对象时Destroy释放对象时常用事件列表二296.1.5对象的属性、方法和事件事件的激发:可以由系统、用户操作或程序代码激发。当事件发生时,相应的事件过程就会被执行。显式调用对象事件的命令格式:<对象名>.事件名[(<参数表>)]例如,单击表单对象时会执行表单的Click事件过程,也可以使用下述命令显式调用:

ThisForm.Click306.1.5对象的属性、方法和事件事件驱动工作方式程序的执行顺序取决于事件发生的前后顺序。因此应在恰当的事件中编写代码。通常将事件分为五个阶段:装载阶段(Load事件)对象生成阶段(Init事件)交互式操作阶段对象释放阶段(Destroy事件)卸裁阶段(UnLoad事件)

316.1.5对象的属性、方法和事件装载阶段(Load)只有表单或表单集才有Load事件。表单运行时,首先需要把表单集和表单装入内存,即Load事件。按照先外后内的顺序触发Load事件:先触发表单集的Load事件,再触发表单的触发Load事件。注意:触发Load事件时,表单集、表单及所包容的所有对象都尚未被创建。该事件中代码通常是定义全局变量和设置环境。326.1.5对象的属性、方法和事件对象生成阶段(Init)紧跟在Load事件之后,触发各对象的Init事件,即创建对象。对象的Init事件触发顺序是从内到外:容器对象的Init事件触发之前,先触发其所包容的所有对象的Init事件。在表单的Init事件中可以处理表单所包容的任一对象。

336.1.5对象的属性、方法和事件交互式操作阶段

表单及其所包容的对象全部被创建之后,容器对象的Activate事件首先被触发,接着第一个控件获得焦点,之后通过用户的一系列交互操作来触发事件。346.1.5对象的属性、方法和事件

对象释放阶段(Destroy)关闭表单时要先通过Destroy事件释放表单及其所包容的所有对象。与Init事件触发顺序相反,Destroy事件触发的顺序是从外到内:先触发容器对象的Destroy事件,然后才触发其所包容的对象的Destroy事件。356.1.5对象的属性、方法和事件卸裁阶段(UnLoad)只有表单和表单集才有UnLoad事件。当表单所包容的所有对象、表单及表单集的Destroy事件触发之后,才触发表单、表单集的的UnLoad事件。366.2创建表单——利用表单向导

表单(Form):建立应用程序的最主要工具之一。表单产生标准的应用程序窗口或对话框,可以包含命令按钮、标签、文本框、列表框、复选框等各种控件。控件是图形化的对象。用户可以利用表单向导和表单设计器创建表单。376.2创建表单——利用表单向导

打开表单向导有多种方法:(1)使用项目管理器(2)选择“文件”菜单中的“新建”命令(3)常用工具栏上的“新建”命令按钮(4)选择“工具”菜单中的“向导”菜单命令386.2创建表单——利用表单向导在表单向导中建立表单的过程:步骤1-字段选取步骤2–选择表单样式步骤3–排序次序步骤4–完成396.3表单设计器表单设计器提供了可视化设计表单的界面。6.3.1表单设计器操作界面6.3.2利用表单设计器设计表单6.3.3表单的保存、修改和运行6.3.4表单的常用属性、方法和事件6.3.5表单的数据环境40启动表单设计器(1)在“项目管理器”中启动:在“项目管理器”中选择“文档”选项卡,选定“表单”,单击“新建”按钮,在“新建表单”对话框中单击“新建表单”按钮。(2)菜单方式调用:选择“文件”菜单中的“新建”(3)单击常用工具栏上的“新建”按钮(4)命令方式

CREATEFORM6.3.1表单设计器操作界面416.3.1表单设计器操作界面表单设计器窗口表单窗口表单控件工具栏属性窗口表单设计器界面42按钮含义按钮含义设置对象Tab键次序设置表单数据环境显示/隐藏属性窗口打开/隐藏代码窗口显示/隐藏表单控件工具栏显示/隐藏调色板工具栏显示/隐藏布局工具栏打开/隐藏表单生成器对话框打开/隐藏自动格式生成器对话框6.3.1表单设计器操作界面表单设计器工具栏436.3.1表单设计器操作界面选定对象

:处于按下状态时,只能编辑表单中的控件,不能用于添加控件

查看类:用于把类库中所保存的用户自定义类添加到工具栏,供用户使用

VFP基类的控件:单击该工具栏中的控件按钮,然后在表单窗口中单击或拖动,即可在表单上建立控件

按钮锁定:呈按下状态时,再单击第二行中某个按钮后,可以在表单中创建多个同类控件

生成器锁定:呈按下状态时,每当向表单中添加控件时都会弹出相应的“生成器”对话框

表单控件工具栏446.3.1表单设计器操作界面呈按下状态表示设置对象的前景

呈按下状态表示设置对象的背景

颜色按钮用于给选定控件设置颜色

“其他颜色”按钮,用于设置更多的颜色

调色板工具栏456.3.1表单设计器操作界面对象组合框选项卡属性设置框属性列表框信息说明栏属性窗口466.3.1表单设计器操作界面代码编辑窗口用于编写指定对象的指定事件(或方法)的程序代码。代码编辑窗口476.3.2利用表单设计器设计表单一、表单控件的生成工具之一:表单生成器。它能方便、快捷地在当前表单中生成字段对象。

调用表单生成器的方法有:选择“表单”菜单中的“快速表单”命令。单击“表单设计器”工具栏中的“表单生成器”按钮。右击表单,在快捷菜单中选择“生成器”。

486.3.2利用表单设计器设计表单表单生成器操作方法:与表单向导类似,从相关表或视图中选取字段,这些字段将以控件的形式被添加到表单中。利用生成器只能按默认格式生成字段对象,若不能满足设计要求,用户还需在表单设计器中进一步编辑、修改和设计。496.3.2利用表单设计器设计表单二、控件的基本操作遵循“先选定,后操作”的原则。

1)选定控件用鼠标单击对象即可选定单个控件。若要选定相邻的多个控件,利用鼠标拖动把所选定控件包含在虚框中。若是选定不相邻的控件,可按下<Shift>,然后单击指定控件。506.3.2利用表单设计器设计表单2)移动控件选定对象之后,通过鼠标拖动对象到指定位置。也可以使用方向键移动控件。3)复制、删除控件可利用“剪贴板”方便地复制控件。选定要删除的控件,按<Del>键或使用“编辑”菜单中的“清除”命令即可删除控件。516.3.2利用表单设计器设计表单三、控件的布局调整

方法:利用“格式”菜单或“布局”工具栏。左对齐右对齐

顶边对齐

底边对齐

垂直居中对齐

水平居中对齐

相同宽度

相同高度

相同大小

垂直居中

水平居中

置后

置前526.3.2利用表单设计器设计表单四、设置Tab键次序设计表单时,系统按照各控件设置的前后次序,自动给每一个控件指定获得焦点的次序,这就是Tab键次序,其值也就是对象属性TabIndex的值。表单运行时,在对象生成阶段系统依照各控件的Tab键次序依次激活各控件的Init事件。在对象生成阶段之后——即交互操作阶段,按下键盘上的Tab键可以使焦点按Tab键次序在各控件间移动。536.3.2利用表单设计器设计表单重新设置各控件的Tab键次序方法:交互式和列表式。用户可以选择“工具”菜单中“选项”,打开“选项”对话框的“表单”选项卡,选择一种设置的方法。546.3.2利用表单设计器设计表单如果采用的是交互式,那么,选择“显示”菜单中的“Tab键次序”,重新设置表单上的各个控件的“Tab键次序”的界面如下:556.3.2利用表单设计器设计表单如果采用的是列表式,那么,选择“显示”菜单中的“Tab键次序”,重新设置表单上的各个控件的“Tab键次序”的界面如下:566.3.3表单的保存、修改和运行保存表单:选择“文件”菜单中的“保存”命令或单击“常用”工具栏中的“保存”按钮自动保存成两个文件:扩展名为SCX的表单文件和扩展名为SCT的表单备注文件表单修改选择“文件”菜单中的“打开”命令使用命令方式

ModifyForm

<表单文件名>

使用“项目管理器”运行表单:选择“表单”菜单中的“执行表单”命令或单击常用工具栏上的“运行”按纽。576.3.4表单的常用属性、方法和事件属性说明默认值AutoCenter指定表单对象首次显示时,是否自动在VisualFoxPro主窗口内居中.F.Height指定表单的高度Width指定表单的宽度Left指定表单左边与VFP主窗口左边的距离Top指定表单顶边与VFP主窗口顶边的距离表单的外观属性表一586.3.4表单的常用属性、方法和事件属性说明默认值BorderStyle指定表单边框样式:0—无边框,1—单线边框,2—固定对话框,3—可调边框3–可调边框WindowState指定表单状态:0—正常,1—最小化,2—最大化0-正常ScrollBars指定表单滚动条类型:0—无,1—水平,2—垂直,3—既水平又垂直0-无BackColor指定表单的背景色192,192,192表单的外观属性表二596.3.4表单的常用属性、方法和事件属性说明默认值Caption指定表单标题栏的显示文本Form1Icon指定表单的控制菜单图标无Closable指定是否可以通过双击控制菜单框或单击关闭按钮来关闭表单.T.MaxButton设定表单是否有最大化按钮.T.MinButton设定表单是否有最小化按钮.T.Movable指定表单运行时,用户能否通过拖拽标题栏来移动表单.T.Titlebar设置表单标题栏是否可见1—打开表单的标题栏属性

606.3.4表单的常用属性、方法和事件属性说明默认值AlwaysOnTop指定表单运行时是否总在其他窗口之上.F.DataSessin指定打开表单中表的设置:1-默认数据工作期;2-私有数据工作期1Enabled指定表单当前是否可用.T.Visible指定表单是否可见.T.ShowTips设置当鼠标停留在表单中的控件上时,

是否显示提示信息.F.WindowType指定表单模式。0—无模式,1—模式0—无模式表单的其它常用属性

616.3.4表单的常用属性、方法和事件方法说明Release将表单从内存中释放,并关闭表单Refresh刷新表单,同时刷新表单所含控件的内容Show此方法设置表单的Visible属性为.T.,并设置该表单窗口为当前窗口Hide此方法设置表单的Visible属性为.F.SetFocue设置该表单窗口为当前窗口表单常用方法626.3.4表单的常用属性、方法和事件表单常用方法说明:1)当用代码改变了表单及其所包容的控件的属性后,需要调用Refresh方法把改变后的属性内容显示出来。2)仅当表单的Closable属性值为.T.时,才可以调用Release方法关闭表单。

636.3.4表单的常用属性、方法和事件事件触发时机Load装载表单时,是表单运行后首先被触发的事件Init创建表单对象时,在表单所包容控件Init之后Destroy释放表单时,在表单所包容控件Destroy之前UnLoad卸载表单时,在表单所包容控件Destroy之后表单常用的事件646.3.4表单的常用属性、方法和事件双击表单窗口ThisForm.caption="红色"Thisform.Backcolor=RGB(255,0,0)Wait"按任意键将显示表单"Window选择“Init”事件方法例6.4:创建表单实现:运行表单,按任意键显示红色背景的表单;单击表单的“关闭”按钮,表单背景改为绿色;再按任意键关闭表单。65再选择“destroy”事件ThisForm.caption="绿色"ThisForm.BackColor=RGB(0,255,0)Wait"按任意键将关闭表单"Window6.3.4表单的常用属性、方法和事件666.3.4表单的常用属性、方法和事件保存为:例6-4.scx单击“运行”按任意键单击“关闭”单击“任意键”676.3.4表单的常用属性、方法和事件表单运行后返回表单编辑状态686.3.5表单的数据环境数据环境简介

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论