版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、l面向对象程序设计简介面向对象程序设计简介l表单设计概述表单设计概述l表单设计器运用表单设计器运用l数据环境与数据绑定数据环境与数据绑定l常用表单控件常用表单控件l表单集与多重表单表单集与多重表单48.1.1 8.1.1 面向对象程序设计概述面向对象程序设计概述4面向对象程序设计简称面向对象程序设计简称OOPOOPObject-Oriented Object-Oriented ProgrammingProgramming,是当前程序设计的主流方向,是当前程序设计的主流方向,是程序设计在思想上和方法上的一次飞跃。是程序设计在思想上和方法上的一次飞跃。JOOPOOP用用“对象表示各种事物、用对象表
2、示各种事物、用“类表示对类表示对象的笼统、用象的笼统、用“音讯实现对象之间的联络、音讯实现对象之间的联络、用用“方法实现对象处置的过程方法实现对象处置的过程J采用面向对象和事件驱动的编程方式,将对象采用面向对象和事件驱动的编程方式,将对象看作是数据及可以施加在这些数据之上的可执看作是数据及可以施加在这些数据之上的可执行的操作所构成的一致体,将整个程序看作是行的操作所构成的一致体,将整个程序看作是相互协作而又相互独立的、有任务才干的对象相互协作而又相互独立的、有任务才干的对象的集合的集合JOOPOOP所做的是创建所需的各个对象,并按运用所做的是创建所需的各个对象,并按运用系统的需求建立对象之间协
3、同任务的才干系统的需求建立对象之间协同任务的才干41 1对象对象ObjectObject4 对象是一个具有各种属性数据和方法程对象是一个具有各种属性数据和方法程序代码的实体,如命令按钮、文本框、菜单等。序代码的实体,如命令按钮、文本框、菜单等。42 2属性属性PropertyProperty4 对象所具有的各种不同特征被称为对象的属性。对象所具有的各种不同特征被称为对象的属性。在在OOPOOP中,属性实践上是某个对象的各种特征数中,属性实践上是某个对象的各种特征数据。如命令按钮的字体、大小、颜色等据。如命令按钮的字体、大小、颜色等43 3方法方法MethodMethod4 对象的行为和动作被称
4、为对象的方法。在对象的行为和动作被称为对象的方法。在OOPOOP中,方法实践上是对象可以执行并完成相中,方法实践上是对象可以执行并完成相应义务的操作代码集合。应义务的操作代码集合。44 4事件事件EventEvent4 对象可以识别和呼应的动作被称为事件。在对象可以识别和呼应的动作被称为事件。在OOPOOP中,事件是一些预先定义好的特定动作,中,事件是一些预先定义好的特定动作,可由系统触发,在大多数情况下那么由用户的可由系统触发,在大多数情况下那么由用户的操作触发。操作触发。O例例1 1 如以下图是一表单程序如以下图是一表单程序C“退出按钮退出按钮C 是一个命令按钮,是一个对象是一个命令按钮,
5、是一个对象CGOTFOCUSGOTFOCUS,CLICKCLICKC 是事件,表示得到标、鼠标单击是事件,表示得到标、鼠标单击CTHIS.FORECOLOR=RGB(255,0,0)THIS.FORECOLOR=RGB(255,0,0)C FORECOLOR FORECOLOR是属性是属性CTHISFORM.RELEASETHISFORM.RELEASEC RELEASE RELEASE是方法是方法4在在OOPOOP中,类是一批类似对象的归纳和笼统,是中,类是一批类似对象的归纳和笼统,是对一批类似对象的共有属性和方法的描画。就一对一批类似对象的共有属性和方法的描画。就一个详细的对象而言,该对象
6、本身只是其所属的某个详细的对象而言,该对象本身只是其所属的某个类中的一个实例个类中的一个实例41 1封装性封装性4 在在OOPOOP中,对象的属性和方法被封装在单独中,对象的属性和方法被封装在单独的一段源代码中,并且对数据的访问只能经过的一段源代码中,并且对数据的访问只能经过调用该对象本身的方法来进展,对象之间的相调用该对象本身的方法来进展,对象之间的相互作用只能经过音讯的传送来实现。因此,对互作用只能经过音讯的传送来实现。因此,对象是一个完全封装的实体,具有模块独立性,象是一个完全封装的实体,具有模块独立性,运用起来更为方便与平安。运用起来更为方便与平安。 对象是可以加以分类的,并且可在某个
7、类的根对象是可以加以分类的,并且可在某个类的根底上继续分类,类之间的内在联络可用类的层底上继续分类,类之间的内在联络可用类的层次构造来描画。处于上层的类被称为父类,处次构造来描画。处于上层的类被称为父类,处于下层的类被称为子类或派生类。子类是父类于下层的类被称为子类或派生类。子类是父类的详细化、特殊化;父类是子类的笼统化。的详细化、特殊化;父类是子类的笼统化。 对象与类的承继性在对象与类的承继性在OOPOOP中得到了充分的表达。中得到了充分的表达。例如可由某个类生成假设干个对象,这些对象例如可由某个类生成假设干个对象,这些对象将自动具有该类所具有的属性和方法;也可以将自动具有该类所具有的属性和
8、方法;也可以由现有的类派生出新类,该新类将自动具有其由现有的类派生出新类,该新类将自动具有其父类所具有的属性和方法。父类所具有的属性和方法。 用户在对某个对象进展操作时,可忽略其内部用户在对某个对象进展操作时,可忽略其内部的实现细节,隐藏其复杂性,因此对象被笼统的实现细节,隐藏其复杂性,因此对象被笼统化了。除此之外,化了。除此之外,“类的概念本身就是对性类的概念本身就是对性质类似的一批对象的笼统。质类似的一批对象的笼统。 多态性是指同类的对象可以有不同的表现方式。多态性是指同类的对象可以有不同的表现方式。在在OOPOOP中,对象的多态性不仅是指同类的对象中,对象的多态性不仅是指同类的对象可以有
9、不同的属性,还可以指同类对象对于一可以有不同的属性,还可以指同类对象对于一样的触发事件可以有不同的反响动作,或对于样的触发事件可以有不同的反响动作,或对于一样的功能具有不同的实现方式等。一样的功能具有不同的实现方式等。4Visual FoxProVisual FoxPro提供了一系列的根本对象类,提供了一系列的根本对象类,简称基类简称基类4控件控件ControlControl类对象不能包含其他对象,类对象不能包含其他对象,通常是一个图形化的、并能与用户进展交互的通常是一个图形化的、并能与用户进展交互的对象对象4容器容器ContainerContainer类对象可以包含其他对象,类对象可以包含其
10、他对象,用户可以单独地访问和处置容器类对象中所包用户可以单独地访问和处置容器类对象中所包含的任何一个对象含的任何一个对象CheckBox LabelCheckBox LabelComboBox EditBoxComboBox EditBoxCommandButton ImageCommandButton ImageOptionButton LineOptionButton LineListBox SpinnerListBox SpinnerOLEBound TextBoxOLEBound TextBoxOLEContainer TimerOLEContainer TimerShape Hype
11、rLinkShape HyperLinkContainerContainer:可包含恣意控件:可包含恣意控件FormSetFormSet:可包含多个表单、工具栏:可包含多个表单、工具栏FormForm:恣意控件:恣意控件GridGrid:多个表格列:多个表格列ColumnColumn:列标题头:列标题头PageFramePageFrame:多个页面:多个页面PagePage:恣意多个控件、容器、自定义对象:恣意多个控件、容器、自定义对象CommandGroupCommandGroup:多个命令按钮:多个命令按钮OptionGroupOptionGroup:多个选项按钮:多个选项按钮ToolBa
12、rToolBar:恣意多个控件、容器、页框:恣意多个控件、容器、页框ProjectHookProjectHook:文件与效力程序:文件与效力程序4对某对象进展操作方法:援用对某对象进展操作方法:援用4援用格式:援用格式:4 . 4 . 4 . 41 1绝对援用绝对援用4 对一个对象的援用是从最外层的容器对象开对一个对象的援用是从最外层的容器对象开场直至该对象的,称为对象的绝对援用。场直至该对象的,称为对象的绝对援用。4如:设置以下图表单中的如:设置以下图表单中的“红色按钮的红色按钮的“标题标题THISFORM.THISFORM.红色红色.CAPTION=.CAPTION=红色红色 4一个对象的
13、援用是从参照关键字开场至该对象一个对象的援用是从参照关键字开场至该对象的,被称为对象的相对援用的,被称为对象的相对援用4PARENTPARENT 本对象的父对象本对象的父对象4THISTHIS 本对象本对象4THISFORMTHISFORM 包含本对象的表单包含本对象的表单4THISFORMSETTHISFORMSET 包含本对象的表单集包含本对象的表单集O例例2 2 对象的援用对象的援用LABLEL1LABLEL1COMMAND1COMMAND1COMMAND2COMMAND2COMMAND3COMMAND3FORM1FORM1F表单表单FORM1FORM1的的INITINIT事件的代码事件
14、的代码F THISMAND1.CAPTION=THISMAND1.CAPTION=设置表单设置表单 F THISMAND2.CAPTION= THISMAND2.CAPTION=设置标签设置标签 F THISFORMMAND3.CAPTION= THISFORMMAND3.CAPTION=退退 出出 F按钮按钮COMMAND1COMMAND1的的CLICKCLICK事件的代码事件的代码F THIS.PARENT.CAPTION=THIS.PARENT.CAPTION=这是第八章例题这是第八章例题22F THIS.PARENT.BACKCOLOR=RGB(200,250,200)THIS.PAR
15、ENT.BACKCOLOR=RGB(200,250,200)F THISFORM.REFRESH THISFORM.REFRESHF按钮按钮COMMAND2COMMAND2的的CLICKCLICK事件的代码事件的代码F THISFORM.LABEL1.CAPTION=THISFORM.LABEL1.CAPTION=请点击我一请点击我一下下 F THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)F THIS.PARENT.LABEL1.FONTNAME= THIS.PARENT.LABEL1.F
16、ONTNAME=黑体黑体 F THISFORM.REFRESH THISFORM.REFRESHF按钮按钮COMMAND3COMMAND3的的CLICKCLICK事件的代码事件的代码F THISFORM.RELEASETHISFORM.RELEASEF标签标签LABELLABEL的的CLICKCLICK事件的代码事件的代码F THIS.CAPTION=THIS.CAPTION=您真乖,谢谢!您真乖,谢谢! 4表单的英文名为表单的英文名为FormForm,是一个可以具有各种属,是一个可以具有各种属性、控件、事件和方法程序的容器对象性、控件、事件和方法程序的容器对象4各种窗口与对话框均为表单的不同
17、表现方式各种窗口与对话框均为表单的不同表现方式4表单往往用来作为数据输入、修正或输出的用表单往往用来作为数据输入、修正或输出的用户界面。户界面。4创建表单的各种途径创建表单的各种途径41. 1. 运用表单导游创建表单运用表单导游创建表单4 简单数据维护表单简单数据维护表单42. 2. 运用表单生成器创建表单运用表单生成器创建表单4 快速生成与某个数据有关的表单快速生成与某个数据有关的表单43. 3. 运用表单设计器创建表单运用表单设计器创建表单4 是最常用、最直观的方法是最常用、最直观的方法44. 4. 经过编写程序的方法创建表单经过编写程序的方法创建表单4 要求熟练地掌握面向对象编程的方法与
18、技巧要求熟练地掌握面向对象编程的方法与技巧4方法:方法:“文件文件/ /新建新建/ /表单表单/ /导游导游4创建单表表单创建单表表单4例例3 3 用用zgdazgda表创建一个对表创建一个对zgdazgda表维护的表单表维护的表单4创建一对多表单创建一对多表单4例例4 4 用图书管理数据库用图书管理数据库(Student(Student表、表、BorrowBorrow表表) )创建一个一对多的表单,分页列出学生表创建一个一对多的表单,分页列出学生表中每个学生的借书情况中每个学生的借书情况4表单生成器可以方便、快速地生成一个与数据表单生成器可以方便、快速地生成一个与数据表有关的表单表有关的表单
19、4步骤一:创建新表单步骤一:创建新表单4方式方式1 1:在:在“工程管理器中,选择工程管理器中,选择“文档文档/ /表单表单/ /新建新建/ /新建表单新建表单4方式方式2 2:执行:执行“文件文件/ /新建新建/ /表单表单/ /新建文件菜新建文件菜单命令单命令4方式方式3 3:格式:格式:CREATE FORM CREATE FORM 3步骤二:用生成器生成步骤二:用生成器生成3方式方式1 1:单击:单击“表单设计器工具栏中的表单设计器工具栏中的“表单表单生成器按钮生成器按钮3方式方式2 2:右键单击表单窗口,在弹出的快捷菜:右键单击表单窗口,在弹出的快捷菜单中选择单中选择“生成器命令生成
20、器命令3方式方式3 3:选择主窗口:选择主窗口“表单菜单的表单菜单的“快速表单快速表单命令命令3例例5 5 用表单生成器快速生成一个职工档案表用表单生成器快速生成一个职工档案表单单41 1菜一方式菜一方式4方式方式1 1:在:在“工程管理器中,选择工程管理器中,选择“文档文档/ /表单表单/ /新建新建/ /新建表单新建表单4方式方式2 2:执行:执行“文件文件/ /新建新建/ /表单表单/ /新建文件菜单新建文件菜单命令。命令。42 2命令方式命令方式4 格式:格式:CREATE FORM CREATE FORM 4表单文件扩展名表单文件扩展名.scx.scx,表单备注文件扩展名,表单备注文
21、件扩展名.sct.sct41 1表单的修正表单的修正41 1菜一方式菜一方式4方式方式1 1:在:在“工程管理器工程管理器/ /文档选项卡中,选文档选项卡中,选中要修正的表单,单击中要修正的表单,单击“修正按钮修正按钮4方式方式2 2:执行:执行“文件文件/ /翻开菜单命令,翻开要翻开菜单命令,翻开要修正的表单文件修正的表单文件42 2命令方式命令方式4 格式:格式:MODIFY FORM MODIFY FORM 41 1菜一方式菜一方式4方法方法1 1:在:在“工程管理器工程管理器/ /文档选项卡内选中要文档选项卡内选中要运转的表单,单击运转的表单,单击“运转按钮。运转按钮。4方法方法2 2
22、:执行:执行“程序程序/ /运转菜单命令,选定要运运转菜单命令,选定要运转的表单,单击转的表单,单击“运转按钮。运转按钮。4方法方法3 3:翻开表单,执行:翻开表单,执行“表单表单/ /执行表单菜单执行表单菜单命令,或按命令,或按Ctrl+ECtrl+E组合键。组合键。42 2命令方式命令方式4 格式:格式:DO FORM DO FORM WITH WITH O例例6 6 下面表单的文件名:下面表单的文件名:E8_6E8_6,那么,那么O 修正表单的命令应为:修正表单的命令应为:MODI FORM E8_6MODI FORM E8_6O 运转表单的命令应为:运转表单的命令应为:DO FORM
23、E8_6DO FORM E8_641 1规划属性规划属性4TopTop:离顶端的间隔:离顶端的间隔4LeftLeft:离左边的间隔:离左边的间隔4WidthWidth:控件的宽:控件的宽4HeightHeight:控件的高:控件的高4FontnameFontname:字体类型:字体类型4FontsizeFontsize:字体大小:字体大小4BackcolorBackcolor:背景颜色:背景颜色4ForecolorForecolor:前景颜色:前景颜色FAlignmentAlignment:控件中的文本对齐方式:控件中的文本对齐方式FCaptionCaption:显示的标题:显示的标题FAut
24、oSizeAutoSize:能否根据控件内容调整大小:能否根据控件内容调整大小FBorderStyleBorderStyle:边框类型:边框类型FBackStyleBackStyle:对象的背景能否透明:对象的背景能否透明FStatusBarTextStatusBarText:鼠标停在控件上所要显示的文字:鼠标停在控件上所要显示的文字FVisibleVisible:设置对象能否可见:设置对象能否可见F2. 2. 数据属性数据属性FControlSourceControlSource:指定对象绑定的数据源:指定对象绑定的数据源FRowSourceRowSource:指定列表或组合框所绑定的数据:
25、指定列表或组合框所绑定的数据FRowSourceTypeRowSourceType:列表或组合框所绑定的数据类型:列表或组合框所绑定的数据类型FReadOnlyReadOnly:控件数据的只读属性:控件数据的只读属性FValueValue:控件形状或值:控件形状或值FRecordSource RecordSource 指定与表格绑定的数据源指定与表格绑定的数据源 FRecordSourceType RecordSourceType 指定与表格绑定的数据类型指定与表格绑定的数据类型F3. 3. 其它属性其它属性FNameName:设置对象的名,默许控件类型加数字命名:设置对象的名,默许控件类型加
26、数字命名FEnabledEnabled:设置对象能否可用:设置对象能否可用FTabIndexTabIndex:设置用:设置用TabTab键切换时得到焦点的顺序键切换时得到焦点的顺序FTabStopTabStop:设置用:设置用TABTAB键切换时能否可以得到焦点键切换时能否可以得到焦点F属性的设置方法属性的设置方法F用属性窗口进展设置用属性窗口进展设置F在程序中用赋值语句进展赋值在程序中用赋值语句进展赋值F获得属性值的方法获得属性值的方法F用赋值语句获得属性值用赋值语句获得属性值F如设置表单的如设置表单的HeightHeightF(1)(1)方法一:在表单的初始化方法一:在表单的初始化(Ini
27、t)(Init)事件中,写入事件中,写入代码,如图一所示代码,如图一所示F(2)(2)方法二:用属性窗口进展赋值,如图二所示方法二:用属性窗口进展赋值,如图二所示图一图一图二图二(3)(3)获得属性值获得属性值A=thisform.heightA=thisform.height44. 4. 方法方法4RefreshRefresh:刷新该对象,即数据更新:刷新该对象,即数据更新4ReleaseRelease:释放该对象:释放该对象4SetFocusSetFocus:设置该对象得焦点:设置该对象得焦点4Move(a,b)Move(a,b):把该对象移到指定的位置:把该对象移到指定的位置(a,b)(
28、a,b)4HideHide:对象隐藏:对象隐藏4ShowShow:对象显示:对象显示4如下面的援用如下面的援用4 Thisform.releaseThisform.release4 Thisform.text1.setfocus Thisform.text1.setfocus4 Thisform.shape1.move(100,50) Thisform.shape1.move(100,50)4 Thisform.grid1.refresh Thisform.grid1.refresh4事件事件4LoadLoad:对象加载时发生:对象加载时发生4InitInit:对象初始化时发生,发生在:对象初
29、始化时发生,发生在LoadLoad之后之后4ActivateActivate:对象激活时发生:对象激活时发生4ClickClick:鼠标单击该对象时发生:鼠标单击该对象时发生4DblClickDblClick:鼠标双击该对象时发生:鼠标双击该对象时发生4GotFocusGotFocus:对象得到焦点时发生:对象得到焦点时发生4LostFocusLostFocus:对象失去焦点时发生:对象失去焦点时发生4KeyPressKeyPress:按下键盘时发生:按下键盘时发生4MouseDownMouseDown:鼠标按下时发生:鼠标按下时发生4DestroyDestroy:对象释放时发生:对象释放时发
30、生O例例7 7 建立如下两个表单建立如下两个表单E8_7.scxE8_7_2.scx3表单一:表单一:Form1Form13LoadLoad事件事件3 messagebox(messagebox(这是这是LOADLOAD事件事件,64,e8_7),64,e8_7)3InitInit事件事件3 messagebox(messagebox(这是这是INITINIT事件事件,64,e8_7),64,e8_7)3ActivateActivate事件事件3 messagebox(messagebox(这是这是ACTIVATEACTIVATE事件事件,64,e8_7),64,e8_7)3RefreshRe
31、fresh事件事件3 messagebox(messagebox(这是这是 REFRESH REFRESH 事件事件,64,e8_7),64,e8_7)3GotFocusGotFocus事件事件3 messagebox(messagebox(这是这是 GOTFOCUS GOTFOCUS 事件事件,64,e8_7),64,e8_7)3ClickClick事件事件3 messagebox(messagebox(这是这是 CLICK CLICK 事件事件,64,e8_7),64,e8_7)FKeyPressKeyPress事件事件F LPARAMETERS nKeyCode, nShiftAltCt
32、rlLPARAMETERS nKeyCode, nShiftAltCtrlF messagebox( messagebox(这是这是KEYPRESSKEYPRESS事件事件, ,他按的是:他按的是:+chr(nKeyCode),64,e8_7)+chr(nKeyCode),64,e8_7)FHideHide事件事件F messagebox(messagebox(这是这是HIDEHIDE事件事件,64,e8_7),64,e8_7)FReleaseRelease事件事件F messagebox(messagebox(这是这是 RELEASE RELEASE 事件事件,64,e8_7),64,e8_
33、7)FLostFocusLostFocus事件事件F messagebox(messagebox(这是这是 LOSTFOCUS LOSTFOCUS 事件事件,64,e8_7),64,e8_7)FDeactivateDeactivate事件事件F messagebox(messagebox(这是这是 DEACTIVATE DEACTIVATE 事件事件,64,e8_7),64,e8_7)FDestroyDestroy事件事件F messagebox(messagebox(这是这是 DESTORY DESTORY 事件事件,64,e8_7),64,e8_7)FUnloadUnload事件事件F m
34、essagebox(messagebox(这是这是UNLOADUNLOAD事件事件,64,e8_7),64,e8_7)FCommand1Command1的的ClickClick事件事件F thisform.hidethisform.hideF do form e8_7_2 do form e8_7_23表单二:表单二:Form2Form23DblClickDblClick事件事件3 messagebox(messagebox(这是这是DBLCLICKDBLCLICK事件事件,64,e8_7_2),64,e8_7_2)3RefreshRefresh事件事件3 messagebox(message
35、box(这是这是 REFRESH REFRESH 事件事件,64,e8_7_2),64,e8_7_2)3Command1Command1的的ClickClick事件事件3 thisform.refreshthisform.refresh3Command2Command2的的ClickClick事件事件3 e8_7.releasee8_7.release3 * *thisform.releasethisform.release3 release thisform release thisform3当运转当运转E8_7.scxE8_7.scx时,下面四个对话框出现的先后顺时,下面四个对话框出现的先
36、后顺序序(1)(2)(3)(4)3当单击当单击“ShowShow表单时,即隐藏表单时,即隐藏e8_7e8_7,激活,激活e8_7_2e8_7_2时,下面四个对话框不会出现的是时,下面四个对话框不会出现的是(1)(2)(3)(4)3退出退出E8_7_1.scxE8_7_1.scx时,下面三个对话框出现的先后顺序时,下面三个对话框出现的先后顺序(1)(2)(3)J注释:注释:MessageBoxMessageBoxJ用法:用法:t= MessageBox(t= MessageBox(提示内容提示内容, ,类型类型, ,提示框标题提示框标题) )J“类型设置类型设置J0 0 “确定按钮确定按钮J1
37、1 “确定、确定、“取消按钮取消按钮J2 2 “放弃、放弃、“重试、重试、“忽略按钮忽略按钮J3 3 “是、是、“否、否、“取消按钮取消按钮J4 4 “是、是、“否按钮否按钮J5 5 “重试、重试、“取消按钮取消按钮F16 16 “停顿图标停顿图标F32 32 “疑问图标疑问图标F48 48 “惊叹图标惊叹图标F64 64 “信息图标信息图标F0 0 焦点在第一个按钮焦点在第一个按钮F256 256 焦点在第一个按钮焦点在第一个按钮F512 512 焦点在第一个按钮焦点在第一个按钮F上面三类可以求和上面三类可以求和3前往值前往值31 1 确定确定32 2 取消取消33 3 放弃放弃34 4 重
38、试重试35 5 忽略忽略36 6 是是37 7 否否48.3.1 8.3.1 表单设计器的启动表单设计器的启动4方式方式1 1:单击:单击“常用工具栏的常用工具栏的“新建按钮,在新建按钮,在“新建对话框中选定新建对话框中选定“表单,再单击表单,再单击“新建文新建文件按钮。件按钮。4方式方式2 2:在:在“工程管理器中,选择工程管理器中,选择“文档文档/ /表单表单/ /新建新建/ /新建表单新建表单4方式方式3 3:执行:执行“文件文件/ /新建新建/ /表单表单/ /新建文件菜单新建文件菜单命令。命令。4方式方式4 4:在命令窗口执行:在命令窗口执行“CREATE FORM CREATE F
39、ORM 命令。命令。41 1表单设计器工具栏表单设计器工具栏42 2表单控件工具栏表单控件工具栏43 3规划工具栏规划工具栏44 4属性窗口属性窗口45 5代码编辑窗口代码编辑窗口41 1表单设计器工具栏表单设计器工具栏设置设置TAB键次序键次序数据环境数据环境属性窗口属性窗口代码窗口代码窗口表单控件工具栏表单控件工具栏调色板工具栏调色板工具栏规划工具栏规划工具栏表单生成器表单生成器自动格式自动格式42 2表单控件工具栏表单控件工具栏选定按钮选定按钮查看类查看类标签标签文本框文本框编辑框编辑框命令按钮命令按钮命令按钮组命令按钮组选项按钮组选项按钮组复选框复选框组合框组合框列表框列表框微调控件微
40、调控件表格表格图像图像计时器计时器页框页框ActiveX控件控件ActiveX绑定控件绑定控件线条线条外形外形容器容器分别器分别器超级链接超级链接表单生成器表单生成器按钮锁定按钮锁定3规划工具栏规划工具栏4属性窗口属性窗口5代码编辑窗口代码编辑窗口4表单设计器创建与设计表单的步骤表单设计器创建与设计表单的步骤4启动表单设计器启动表单设计器4必要时,为表单指定数据源必要时,为表单指定数据源4添加所需的控件,并对控件进展合理规划添加所需的控件,并对控件进展合理规划4为表单和各控件设置有关属性为表单和各控件设置有关属性4为表单和控件的一些特定事件编写程序代码为表单和控件的一些特定事件编写程序代码4保
41、管并运转表单保管并运转表单O例例8 知定期存款满半年的月利率为知定期存款满半年的月利率为0.221%,满一,满一年后的月利率为年后的月利率为0.27%,满两年后的月利率为,满两年后的月利率为0.31%,满三年的月利率为,满三年的月利率为0.36%,缺乏半年的月,缺乏半年的月利率为利率为0.123%,设计一表单用于计算本金之和,小,设计一表单用于计算本金之和,小数点后保管两位数点后保管两位48.4.1 8.4.1 数据环境数据环境4数据环境泛指创建表单或表单集时所运用的数数据环境泛指创建表单或表单集时所运用的数据源。数据环境也是一个对象,包括与表单或据源。数据环境也是一个对象,包括与表单或表单集
42、相关的数据表、视图以及表之间的关系表单集相关的数据表、视图以及表之间的关系等。等。41 1启动数据环境设计器启动数据环境设计器4方式方式1 1:单击:单击“表单设计器工具栏上的表单设计器工具栏上的“数据数据环境按钮环境按钮4式式2 2:主菜单:主菜单“显示显示/ /“数据环境命令数据环境命令4式式3 3:右击:右击“表单设计器窗口,选择快捷菜单表单设计器窗口,选择快捷菜单中的中的“数据环境命令数据环境命令42 2向数据环境添加表或视图向数据环境添加表或视图4方式方式1 1:主菜单:主菜单“数据环境数据环境/ /“添加,再在弹添加,再在弹出对话框中添加出对话框中添加4方式方式2 2:右击:右击“
43、数据环境设计器,选择数据环境设计器,选择“添加添加,再在弹出对话框中添加,再在弹出对话框中添加43 3在数据环境中设置表间关系在数据环境中设置表间关系4设置方法与参照完好性设置方法一样设置方法与参照完好性设置方法一样4数据绑定是指将表单中的控件与某个数据源联数据绑定是指将表单中的控件与某个数据源联络起来络起来4由控件的由控件的ControlSource属性来指定与其相联属性来指定与其相联络的数据源,实现该控件与数据源的数据绑定络的数据源,实现该控件与数据源的数据绑定4与数据源及数据绑定有关的属性与数据源及数据绑定有关的属性4 属性属性 阐明阐明4 ControlSource ControlSo
44、urce 指定与控件绑定的数据源指定与控件绑定的数据源4 RecordSource RecordSource 指定与表格绑定的数据源指定与表格绑定的数据源 4 RecordSourceType RecordSourceType 与表格绑定的数据类型与表格绑定的数据类型4 RowSource RowSource 与组合框或列表框的数据与组合框或列表框的数据源源4 RowSourceType RowSourceType 与组合或列表框的数据类与组合或列表框的数据类型型4用户可从用户可从“数据环境设计器、数据环境设计器、“工程管理器工程管理器或或“数据库设计器窗口中直接将字段、表或数据库设计器窗口中
45、直接将字段、表或视图拖入当前的表单,系统将自动产生相应的视图拖入当前的表单,系统将自动产生相应的控件并自动实现该控件与对应字段的数据绑定控件并自动实现该控件与对应字段的数据绑定4默许规那么默许规那么4 数值型:文本框数值型:文本框 表:表: 表格表格4 字符型:文本框字符型:文本框 视图:视图: 表格表格4 逻辑型:复选框逻辑型:复选框 通用型:通用型:ActiveXActiveX控控件件4 备注型:编辑框备注型:编辑框4可在可在“选项对话框中的选项对话框中的“字段映射选项卡中字段映射选项卡中进展设置进展设置4例例9 9 用数据绑定的方法建立一个表单对用数据绑定的方法建立一个表单对zgdazg
46、da表进展维护表进展维护4例例10 10 用数据绑定的方法建立一个表单对图书用数据绑定的方法建立一个表单对图书管理数据库进展维护管理数据库进展维护48.5.1 8.5.1 标签与命令按钮标签与命令按钮41 1标签标签4 标签标签LabelLabel是一种能在表单上显示文本是一种能在表单上显示文本的控件,常用来显示提示信息或阐明文字的控件,常用来显示提示信息或阐明文字4常见属性常见属性4 Name Name:缺省为:缺省为Label1Label1,Label2Label2,4 Caption Caption:标题:标题4 AutoSize AutoSize:为:为.T.T.时可以自动调整大小时可
47、以自动调整大小 FontSize FontSize:字体大小:字体大小 FontNameFontName:字体名:字体名 FontBoldFontBold:设置粗体:设置粗体 FontItalicFontItalic:设置斜体:设置斜体 BackStyleBackStyle:设置背景方式:设置背景方式 ForeColorForeColor:设置前风光:设置前风光 BackColorBackColor:设置背风光:设置背风光 AlignmentAlignment:设置文字对齐方式:设置文字对齐方式 WordWrapWordWrap:文天性否可以自动换行:文天性否可以自动换行 Top Top:距上
48、的间隔:距上的间隔 LeftLeft:距左边的间隔:距左边的间隔 HeightHeight:高度:高度 WidthWidth:宽度:宽度例例11 11 设计一表单用于显示当前鼠标的位置设计一表单用于显示当前鼠标的位置(1)(1)创建表单创建表单Form1Form1 Form1.Width 400 Form1.Width 400 Form1.Height 300 Form1.Height 300 Form1.AutoCenter .t. Form1.AutoCenter .t. Form1.Caption Form1.Caption 标签设计标签设计(2)(2)添加标签添加标签Label1 La
49、bel1 Label1.Alignment 1 & Label1.Alignment 1 &右靠右靠 Label1.AutoSize .t.Label1.AutoSize .t. Label1.FontName Label1.FontName 黑体黑体 Label1.BackStyle 0 &Label1.BackStyle 0 &透明透明 Label1.FontSize 24Label1.FontSize 24(3)(3)添加其它三个标签添加其它三个标签Label2Label2、Label3Label3、Label4Label4 方法:复制方法:复制粘贴粘贴(
50、4)(4)设置设置4 4个标签的标题个标签的标题 Label1.Caption X= Label1.Caption X= Label2.Caption 100 Label2.Caption 100 Label3.Caption Y= Label3.Caption Y= Label4.Caption 100 Label4.Caption 100 (5)(5)编写编写Form1Form1的的MouseMoveMouseMove事件代码事件代码 LPARAMETERS nButton,nShift,nXCoord,nYCoord LPARAMETERS nButton,nShift,nXCoord,
51、nYCoord Thisform.label2.caption=str(nXCoord) Thisform.label2.caption=str(nXCoord) thisform.label4.caption=str(nYCoord) thisform.label4.caption=str(nYCoord)阐明:阐明:nButton:1nButton:1左键、左键、22右键、右键、44中键中键 nShift:1Shift nShift:1Shift、2Ctrl2Ctrl、4Alt 4Alt nXCoord: X nXCoord: X向的坐标,以像素为单位向的坐标,以像素为单位 nYCoord
52、: Y nYCoord: Y向的坐标,以像素为单位向的坐标,以像素为单位4命令按钮命令按钮CommandbuttonCommandbutton用于在单击或按下用于在单击或按下后完成某个特定的控制操作,其操作代码通常后完成某个特定的控制操作,其操作代码通常是为其是为其ClickClick事件编写的程序代码事件编写的程序代码4常见属性常见属性4 Caption: Caption: 标题标题4 Enabled: Enabled: 为为.T.T.时可用形状时可用形状4 Default: Default: 为为.T.T.时呼应时呼应EnterEnter键键4 Picture: Picture: 按钮嵌入
53、图片按钮嵌入图片4 DisabledPicture: DisabledPicture: 失效时显示的失效时显示的BMPBMP文件文件4 Cancel: ESCCancel: ESC键呼应键呼应ClickClick事件事件4 DownPicture: DownPicture: 按钮按下时显示的按钮按下时显示的BMPBMP文件文件 Visible: Visible: 可见与否可见与否常用事件常用事件 ClickClick DblClick DblClick常用方法常用方法 SetFocusSetFocusO例例12 12 下面表单三个命令按钮,其中两个隐藏,下面表单三个命令按钮,其中两个隐藏,经过
54、第一个按钮激活另两个,然后经过这个两按经过第一个按钮激活另两个,然后经过这个两按钮来挪动和退出表单钮来挪动和退出表单F(1)(1)创建表单创建表单Form1Form1F Width 400 Width 400F Height 250 Height 250F Windowstate 0 & Windowstate 0 &普通普通F(2)(2)添加三个命令按钮添加三个命令按钮: Command1: Command1、Command2Command2、Command3Command3F Command1.visible .f. Command1.visible .f.F Comman
55、d2.visible .f. Command2.visible .f.F(3)(3)设置设置Form1Form1、Command1Command1、Command2Command2、Command3Command3的的CaptionCaption Form1.Caption Form1.Caption 命令按钮设计命令按钮设计 Command1.Caption Command1.Caption 退出退出(X)(X) Command2.Caption Command2.Caption 显示其它按钮显示其它按钮(S)(S) Command3.Caption Command3.Caption 挪动表
56、单挪动表单(M)(F(1)(1)创建表单,并添加一文本框创建表单,并添加一文本框F(2)(2)设置属性设置属性F Form1Form1的的Caption: Caption: 文本框设计文本框设计F Text1Text1的的FontSize: 28FontSize: 28F Text1 Text1的的BackStyle: 1BackStyle: 1F(3)(3)编写代码编写代码F * * *Form1Form1的的LoadLoadF Public flag Public flagF flag=.t. flag=.t. * * *Text1Text1的的ClickClick if flag if
57、flag thisform.text1.value=date() thisform.text1.value=date() thisform.text1.dateformat=12 &YMD thisform.text1.dateformat=12 &YMD thisform.text1.datemark=. & thisform.text1.datemark=. &分隔分隔 flag=.f.flag=.f. else else thisform.text1.value=time() thisform.text1.value=time() flag=.t. fla
58、g=.t. endif endif3常用属性常用属性3ControlSource: ControlSource: 编辑框的数据源编辑框的数据源3NullDisplay: NullNullDisplay: Null的显示的显示3ReadOnly: ReadOnly: 能否只读能否只读3方法方法3SetFocusSetFocus3RefreshRefresh3事件事件3InteractiveChange: InteractiveChange: 交互式改动时发生交互式改动时发生3ProgramicChange: ProgramicChange: 经过赋值语句改动时发生经过赋值语句改动时发生O例例14
59、 14 为为zgdazgda设计查找姓名的表单设计查找姓名的表单F(1)(1)创建表单,添加两个标签、两个命令按钮、创建表单,添加两个标签、两个命令按钮、一个文本框、一个编辑框一个文本框、一个编辑框F(2)(2)设置属性值、设计规划设置属性值、设计规划F Label1.Caption Label1.Caption 请输入姓氏请输入姓氏: :F Label2.Caption Label2.Caption 查找结果查找结果: :F Command1.Caption Command1.Caption 查找查找F Command2.Caption Command2.Caption 退出退出F(3)(3
60、)编写代码编写代码F * * *Form1Form1的的ActivateActivateF set exact off set exact offF thisform.text1.setfocus thisform.text1.setfocusF * * *command1command1的的ClickClickthisform.edit1.value=thisform.edit1.value=xs=alltrim(thisform.text1.value)xs=alltrim(thisform.text1.value)use zgdause zgdak=0k=0scan for scan for 姓名姓名=xs =xs thisform.edit1.value=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年高职物联网(物联网安全)试题及答案
- 2026年番石榴羹加工机维修(加工机调试技术)试题及答案
- 2025年大学微生物学与免疫学基础(免疫学基础)试题及答案
- 2026年毛绒玩具用品营销(营销规范)试题及答案
- 2025年大学音乐学(音乐欣赏)试题及答案
- 2025年大学大三(珠宝首饰设计)3D珠宝设计综合测试试题及答案
- 2025年中职烹饪(烹饪案例分析)试题及答案
- 2025年高职第四学年(皮革服装设计)制版技术阶段测试题及答案
- 2025年中职模具制造技术(模具设计入门)试题及答案
- 2025年高职(大数据与会计)财务风险管理实训综合测试题及答案
- 2026南水北调东线山东干线有限责任公司人才招聘8人笔试模拟试题及答案解析
- 伊利实业集团招聘笔试题库2026
- 2026年基金从业资格证考试题库500道含答案(完整版)
- 动量守恒定律(教学设计)-2025-2026学年高二物理上册人教版选择性必修第一册
- 网络素养与自律主题班会
- 波形护栏工程施工组织设计方案
- 非静脉曲张性上消化道出血管理指南解读课件
- 内窥镜护理不良事件分析与防范措施
- 2025年《电信业务投诉处理》知识考试题库及答案解析
- 术后恶心呕吐(PONV)诊疗指南解读
- 2025年省太原市教师职称考试(公共科目)仿真试题及答案
评论
0/150
提交评论