表单的设计与应用.pptx
《表单的设计与应用.pptx》由会员分享,可在线阅读,更多相关《表单的设计与应用.pptx(62页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、面向对象程序设计基础面向对象程序设计基础面向过程的程序设计面向过程的程序设计 在在传传统统的的应应用用程程序序中中,应应用用程程序序自自身身控控制制了了执执行行哪哪一一部部分分代代码码和和按按何何种种顺顺序序执执行行代代码码,一一般般从从第第一一行行代代码码执执行行程序并按应用程序中预定的路径执行,必要时调用过程。程序并按应用程序中预定的路径执行,必要时调用过程。例例1 1 假设有一个旅馆服务表文件假设有一个旅馆服务表文件GFU.DBFGFU.DBF,利用传统的,利用传统的程序设计方法,编制一个主控程序,使它能提供以下功程序设计方法,编制一个主控程序,使它能提供以下功能:退出、查询、登记、消账
2、、结算。能:退出、查询、登记、消账、结算。第1页/共62页传统的程序设计如下:do while.t.clear?SPACE(10)+*?旅馆服务主菜单?*?SPACE(10)+*0退出旅馆前台服务 *?SPACE(10)+*1查询 *?SPACE(10)+*2登记 *?SPACE(10)+*3消账 *?SPACE(10)+*4结算 *?SPACE(10)+*WAIT 请选择04号菜单:TO A1 这是传统的程序设计方法,退出、查询、登记、消账、结算等5个功能分别由EXIT命令和CX、DJ、XZ、JS等4个子程序实现,然后再被主控程序调用。程序执行中所需要的所有数据、主菜单出现的位置、装饰符号“
3、*”等必须全部在程序中加以说明和控制。第2页/共62页DO CASECASE A1=0 EXITCASE A1=1 messagebox(你选择了1)CASE A1=2messagebox(你选择了2)CASE A1=3 messagebox(你选择了3)CASE A1=4messagebox(你选择了4)ENDCASEenddo第3页/共62页面向对象的程序设计面向对象的程序设计第4页/共62页 各各个个命命令令按按钮钮有有高高度度、宽宽度度、背背景景色色、按按钮钮标标题题、按按钮钮相相对对表表单单的的位位置置、按按钮钮标标题题颜颜色色等等属属性性,这这些些属属性性值值就就是是描描述述命命令
4、令按按钮钮的的一一系系列列的的数数据据,它它们们可可以以在在按按钮钮设设计计时时进进行行设设置置,并并可可马马上上看看到到设设置置的的效效果果,不不需需要要经经过过编编译译运运行行修修改改再再编编译译再再运运行行这这个个过过程程,所所以以是是可可视视化化的的。属属性性值值(数数据据)也也可可以以在在程程序序运运行行时时进进行行设设置置,即即和和按按钮钮的的操操作作程程序序写写在在一一起起。所所以以对对程程序序员员来来说说一一个个命命令令按按钮钮的的属属性性值值(数数据据)和和操操作作程程序序是是一一个个整整体体,程程序序员员把把它它们们看看成成是是一一个个实实体体,可可以以一一起起被被删删除除
5、、复复制制等等,在在VFPVFP中中称称为为一一个个对对象象,即即对对象象是是程程序序和和数数据据的的封封装装体体,这这种种编编程程方法称为面向对象的程序设计方法。方法称为面向对象的程序设计方法。第5页/共62页 在面向对象的程序设计中,程序代码不是按照在面向对象的程序设计中,程序代码不是按照预定的路径执行的,而是在响应不同的事件时执行不同预定的路径执行的,而是在响应不同的事件时执行不同的代码片段,即受的代码片段,即受“事件驱动事件驱动”。事件可以由用户操作。事件可以由用户操作触发,也可以由来自操作系统或其它应用程序的消息触触发,也可以由来自操作系统或其它应用程序的消息触发,甚至由应用程序本身
6、的消息触发。这些事件的顺序发,甚至由应用程序本身的消息触发。这些事件的顺序决定了代码执行的顺序,因此应用程序每次运行时所经决定了代码执行的顺序,因此应用程序每次运行时所经过的路径都是不同的。过的路径都是不同的。面向对象程序设计的两个基本特点是:面向对象程序设计的两个基本特点是:(1)(1)它是可视化的编程方式。它是可视化的编程方式。(2)(2)程序运行没有一定的顺序,由事件驱动。程序运行没有一定的顺序,由事件驱动。第6页/共62页幸运幸运7 7游戏游戏看一个例子:看一个例子:第7页/共62页 什么是什么是什么是什么是对象对象对象对象?对象:是具有某些特性的具体事物的抽象对象:是具有某些特性的具
7、体事物的抽象例如:一个球、一辆汽车、一个控件、一个窗体例如:一个球、一辆汽车、一个控件、一个窗体 每个对象都有自己的特征和行为每个对象都有自己的特征和行为 类类类类 是同种对象的集合与抽象是同种对象的集合与抽象 它是创建对象实例的模板它是创建对象实例的模板 类与对象的关系类与对象的关系类与对象的关系类与对象的关系 类是对象的定义类是对象的定义 对象是类的一个实例对象是类的一个实例 对象和类对象和类对象和类对象和类第8页/共62页VFP中的基类和对象1 1基类 (1)(1)容器类:可以容纳其他对象,并允许访问所包含的对象。(2)(2)控件类:不能容纳其他对象。由控件类创造的对象是不能单独使用和修
8、改的,它只能做为容器类中的一个元素,通过由容器类创造的对象修改或使用。2.2.用户创建的类第9页/共62页Visual Foxpro基类 列表类名类名含义含义类名类名含义含义ActiveDocActiveDoc活动文档活动文档LabelLabel标签标签CheckBoxCheckBox复选框复选框LineLine线条线条ColumnColumn*(表格)列(表格)列ListboxListbox列表框列表框ComboBoxComboBox组合框组合框OlecontrolOlecontrolOLEOLE容器控件容器控件CommandButtonCommandButton命令按钮命令按钮Olebou
9、ndcontrOleboundcontrololOLEOLE绑定控件绑定控件CommandGroupCommandGroup*命令按钮组命令按钮组OptionButtonOptionButton选项按钮选项按钮ContainerContainer*容器容器OptiongroupOptiongroup*选项按钮组选项按钮组ContorlContorl控件控件PagePage*页页CustomCustom定制定制PageFramePageFrame*页框页框EditBoxEditBox编辑框编辑框ProjectHookProjectHook项目挂钩项目挂钩FormForm*表单表单Separato
10、rSeparator分隔符分隔符FormSetFormSet*表单集表单集ShapeShape图形图形Grid Grid*表格表格SpinnerSpinner微调控件微调控件HeaderHeader*(列)标头(列)标头TextBoxTextBox文本框文本框HyperLinkHyperLink超级链接超级链接TimerTimer定时器定时器ImageImage图象图象ToolBarToolBar工具栏工具栏第10页/共62页对象的属性、事件和方法对象的属性、事件和方法 属性属性:描述对象特性的参数设置:设置:在在属性窗口属性窗口中直接修改中直接修改 在在代码窗口代码窗口中利用中利用赋值语句赋
11、值语句修改修改 THISFORM.对象名.属性=参数值例如:例如:“确定确定”注意注意:单击单击对象对象,使其使其激活激活.对象:VFP中主要指表单和控件CaptionCaption和和NameName两个属性的区别两个属性的区别所有对象都有自己的属性。所有对象都有自己的属性。它们是用来描述和反映对象特它们是用来描述和反映对象特征的参数。征的参数。例如:例如:控件名称(控件名称(Name)Name)、标题、标题(Caption)Caption)、颜色(、颜色(Color)Color)、字体(字体(FontName)FontName)等等属性决定了对象展现给用户的属性决定了对象展现给用户的界面具
12、有什么样的外观及功能界面具有什么样的外观及功能对别的表单操作可用表单名第11页/共62页事件事件 系统预先设定的,能被对象识别和响应的系统预先设定的,能被对象识别和响应的动作动作例如:常用事件有例如:常用事件有Click和和DblClick等等对象的属性、事件和方法事件驱动程序设计:系统等待事件发生系统等待事件发生 执行已发生的事件执行已发生的事件过程过程 第12页/共62页 方法方法:一种专门的子程序或函数,是对象自身可以完成一种专门的子程序或函数,是对象自身可以完成的一定动作的一定动作语法语法:thisform.thisform.对象名.方法 参数名 例如:例如:Form1.Cls For
13、m1.Cls FORM2.SHOW FORM2.SHOW对象的属性、事件和方法do form jsqjsq.hidewaitjsq.show第13页/共62页1.1.属性属性:每种对象有若干个属性每种对象有若干个属性,不同对象的属性类型和不同对象的属性类型和属性个数是不完全相同属性个数是不完全相同2.2.方法方法:决定了对象可以直接完成的动作。决定了对象可以直接完成的动作。一般用动词一般用动词语法语法:对象名.方法 参数 3.3.事件事件:能被对象识别的动作。能被对象识别的动作。一般也用动词一般也用动词可以在事件中编写程序可以在事件中编写程序用来描述对象特征的一些用来描述对象特征的一些数据数据
14、。一般用名词一般用名词语法:语法:THISFORM.对象名.属性=参数值属性、方法与事件的比较属性、方法与事件的比较属性、方法与事件的比较属性、方法与事件的比较第14页/共62页1 1.表单设计(界面设计)表单设计(界面设计)2 2.属性设置属性设置3 3.代码设计代码设计4.4.保存和运行程序保存和运行程序创建应用程序的基本步骤创建应用程序的基本步骤创建应用程序的基本步骤第15页/共62页 练习:在表单上添加一个命令按钮,标题为“单击我”,单击按钮时,标题为“你单击了我”.表示当前窗体第16页/共62页1.This:引用当前对象如:this.enabled=.t.2.Thisform:当前的
15、表单如:3.parent属性:用于指定引用控件的容器对象如:假设当前操作的对象是一个表单上的命令按钮&将当前的命令按钮所在的表单的背景颜色设置为蓝色对象的引用对象的引用第17页/共62页表表7-27-2属性或关键字ParentThisThisFormThisFormSet引用当前对象的直接容器对象当前对象当前对象所在的表单当前对象所在的表单集第18页/共62页Visual FoxProVisual FoxPro中常用事件中常用事件LoadLoad:当表单或表单集被加载到内存中时发生的事件。:当表单或表单集被加载到内存中时发生的事件。UnloadUnload:从内存中释放表单或表单集时发生的事件
16、。:从内存中释放表单或表单集时发生的事件。InitInit:创建对象时发生的事件。:创建对象时发生的事件。DestroyDestroy:从内存中释放对象时发生的事件。:从内存中释放对象时发生的事件。ClickClick:鼠标左键单击对象时发生的事件。:鼠标左键单击对象时发生的事件。DbclickDbclick:鼠标左键双击对象时发生的事件。鼠标左键双击对象时发生的事件。RightclickRightclick:鼠标右键单击对象时发生的事件。:鼠标右键单击对象时发生的事件。GotFocusGotFocus:对象接收到焦点时发生的事件。:对象接收到焦点时发生的事件。LostFocusLostFoc
17、us:对象失去焦点时发生的事件。:对象失去焦点时发生的事件。KeyPressKeyPress:当用户按下或释放键时发生的事件。:当用户按下或释放键时发生的事件。第19页/共62页用户界面设计基础表单表单就是一个容器,它可以容纳多个控件。表单的创建是一个全新的领域。创建表单的过程,就是定义控件的属性,确定事件或方法、代码的过程。第20页/共62页使用表单向导使用表单向导启动表单向导有以下四种途径:(1)打开“项目管理器”,选择“文档”选项卡,从中选择“表单”。然后单击“新建”按钮。在弹出的“新建表单”对话框中单击“表单向导”按钮。(2)在系统菜单中选择【文件】|【新建】命令,或者单击工具栏上的“
18、新建”按钮,打开“新建”对话框,在文件类型栏中选择“表单”。然后单击“向导”按钮。(3)在系统菜单中选择【工具】|【向导】|【表单】命令。(4)直接单击常用工具栏上的“表单向导”图标按钮。按步骤依照“表单向导”完成一对多表表单的设计第21页/共62页创建表单的操作步骤创建表单的操作步骤文件新建表单表单设计器显示表单控件属性代码保存运行第22页/共62页用表单设计器创建表单 ,还可以使用命令:Create form Create form.scx.scx 创建表单创建表单第23页/共62页修改表单修改表单 表单一旦创建完成,表单及表单中对象的属性、方法和事件已确定。如果对已有的属性、方法和事件还
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 表单 设计 应用
限制150内