1、l面向对象程序设计简介面向对象程序设计简介l表单设计概述表单设计概述l表单设计器使用表单设计器使用l数据环境与数据绑定数据环境与数据绑定l常用表单控件常用表单控件l表单集与多重表单表单集与多重表单48.1.1 8.1.1 面向对象程序设计概述面向对象程序设计概述J面向对象程序设计简称面向对象程序设计简称OOPOOP(Object-Oriented Object-Oriented ProgrammingProgramming),是当前程序设计的主流方向,),是当前程序设计的主流方向,是程序设计在思维上和方法上的一次飞跃。是程序设计在思维上和方法上的一次飞跃。JOOPOOP用用“对象对象”表示各种
2、事物、用表示各种事物、用“类类”表示表示对象的抽象、用对象的抽象、用“消息消息”实现对象之间的联系、实现对象之间的联系、用用“方法方法”实现对象处理的过程实现对象处理的过程J采用面向对象和事件驱动的编程方式,将对象采用面向对象和事件驱动的编程方式,将对象看作是数据及可以施加在这些数据之上的可执看作是数据及可以施加在这些数据之上的可执行的操作所构成的统一体,将整个程序看作是行的操作所构成的统一体,将整个程序看作是相互协作而又相互独立的、有工作能力的对象相互协作而又相互独立的、有工作能力的对象的集合的集合JOOPOOP所做的是创建所需的各个对象,并按应用所做的是创建所需的各个对象,并按应用系统的需
3、求建立对象之间协同工作的能力系统的需求建立对象之间协同工作的能力8.1.28.1.2 对象与类的概念对象与类的概念41 1对象(对象(ObjectObject)对象是一个具有各种属性(数据)和方法(程序对象是一个具有各种属性(数据)和方法(程序代码)的实体,如命令按钮、文本框、菜单等。代码)的实体,如命令按钮、文本框、菜单等。42 2属性(属性(PropertyProperty)对象所具有的各种不同特征被称为对象的属性。对象所具有的各种不同特征被称为对象的属性。在在OOPOOP中,属性实际上是某个对象的各种特征数中,属性实际上是某个对象的各种特征数据。如命令按钮的字体、大小、颜色等据。如命令按
4、钮的字体、大小、颜色等43 3方法(方法(MethodMethod)对象的行为和动作被称为对象的方法。在对象的行为和动作被称为对象的方法。在OOPOOP中,方法实际上是对象能够执行并完成相应任中,方法实际上是对象能够执行并完成相应任务的操作代码集合。务的操作代码集合。44 4事件(事件(EventEvent)对象能够识别和响应的动作被称为事件。在对象能够识别和响应的动作被称为事件。在OOPOOP中,事件是一些预先定义好的特定动作,中,事件是一些预先定义好的特定动作,可由系统触发,在大多数情况下则由用户的操可由系统触发,在大多数情况下则由用户的操作触发。作触发。O例例1 1 如下图是一表单程序如
5、下图是一表单程序C“退出退出”按钮按钮 是一个命令按钮,是一个对象是一个命令按钮,是一个对象CGOTFOCUSGOTFOCUS,CLICKCLICK 是事件,表示得到标、鼠标单击是事件,表示得到标、鼠标单击CTHIS.THIS.FORECOLORFORECOLOR=RGB(255,0,0)=RGB(255,0,0)FORECOLOR FORECOLOR是属性是属性CTHISFORM.THISFORM.RELEASERELEASE RELEASE RELEASE是方法是方法4在在OOPOOP中,类是一批相似对象的归纳和抽象,是中,类是一批相似对象的归纳和抽象,是对一批相似对象的共有属性和方法的描
6、述。就一对一批相似对象的共有属性和方法的描述。就一个具体的对象而言,该对象本身只是其所属的某个具体的对象而言,该对象本身只是其所属的某个类中的一个实例个类中的一个实例8.1.3 8.1.3 对象与类的特性对象与类的特性41 1封装性封装性 在在OOPOOP中,对象的属性和方法被封装在单独的中,对象的属性和方法被封装在单独的一段源代码中,并且对数据的访问只能通过调一段源代码中,并且对数据的访问只能通过调用该对象本身的方法来进行,对象之间的相互用该对象本身的方法来进行,对象之间的相互作用只能通过消息的传递来实现。因此,对象作用只能通过消息的传递来实现。因此,对象是一个完全封装的实体,具有模块独立性
7、,使是一个完全封装的实体,具有模块独立性,使用起来更为方便与安全。用起来更为方便与安全。2 2层次性层次性 对象是可以加以分类的,并且可在某个类的基对象是可以加以分类的,并且可在某个类的基础上继续分类,类之间的内在联系可用类的层础上继续分类,类之间的内在联系可用类的层次结构来描述。处于上层的类被称为父类,处次结构来描述。处于上层的类被称为父类,处于下层的类被称为子类或派生类。子类是父类于下层的类被称为子类或派生类。子类是父类的具体化、特殊化;父类是子类的抽象化。的具体化、特殊化;父类是子类的抽象化。3 3继承性继承性 对象与类的继承性在对象与类的继承性在OOPOOP中得到了充分的体现。中得到了
8、充分的体现。例如可由某个类生成若干个对象,这些对象将例如可由某个类生成若干个对象,这些对象将自动具有该类所具有的属性和方法;也可以由自动具有该类所具有的属性和方法;也可以由现有的类派生出新类,该新类将自动具有其父现有的类派生出新类,该新类将自动具有其父类所具有的属性和方法。类所具有的属性和方法。4 4抽象性抽象性 用户在对某个对象进行操作时,可忽略其内部用户在对某个对象进行操作时,可忽略其内部的实现细节,隐藏其复杂性,因而对象被抽象的实现细节,隐藏其复杂性,因而对象被抽象化了。除此之外,化了。除此之外,“类类”的概念本身就是对性的概念本身就是对性质相似的一批对象的抽象。质相似的一批对象的抽象。
9、5 5多态性多态性 多态性是指同类的对象可以有不同的表现形式。多态性是指同类的对象可以有不同的表现形式。在在OOPOOP中,对象的多态性不仅是指同类的对象中,对象的多态性不仅是指同类的对象可以有不同的属性,还可以指同类对象对于相可以有不同的属性,还可以指同类对象对于相同的触发事件可以有不同的反应动作,或对于同的触发事件可以有不同的反应动作,或对于相同的功能具有不同的实现方式等。相同的功能具有不同的实现方式等。8.1.4 Visual FoxPro8.1.4 Visual FoxPro的基类的基类4Visual FoxProVisual FoxPro提供了一系列的基本对象类,提供了一系列的基本对
10、象类,简称基类简称基类4控件控件(ControlControl)类类对象不能包含其他对象,对象不能包含其他对象,通常是一个图形化的、并能与用户进行交互的通常是一个图形化的、并能与用户进行交互的对象对象4容器容器(ContainerContainer)类类对象能够包含其他对象,对象能够包含其他对象,用户可以单独地访问和处理容器类对象中所包用户可以单独地访问和处理容器类对象中所包含的任何一个对象含的任何一个对象控件类控件类CheckBoxCheckBox LabelLabelComboBoxComboBox EditBoxEditBoxCommandButtonCommandButton Imag
11、e ImageOptionButtonOptionButton Line LineListBoxListBox Spinner SpinnerOLEBoundOLEBound TextBoxTextBoxOLEContainerOLEContainer TimerTimerShape HyperLinkShape HyperLink容器类容器类ContainerContainer:可包含任意控件:可包含任意控件FormSetFormSet:可包含多个表单、工具栏:可包含多个表单、工具栏FormForm:任意控件:任意控件GridGrid:多个表格列:多个表格列ColumnColumn:列标题头
12、:列标题头PageFramePageFrame:多个页面:多个页面PagePage:任意多个控件、容器、自定义对象:任意多个控件、容器、自定义对象CommandGroupCommandGroup:多个命令按钮:多个命令按钮OptionGroupOptionGroup:多个选项按钮:多个选项按钮ToolBarToolBar:任意多个控件、容器、页框:任意多个控件、容器、页框ProjectHookProjectHook:文件与服务程序:文件与服务程序8.1.58.1.5 对象的引用对象的引用4对某对象进行操作方法:引用对某对象进行操作方法:引用4引用格式:引用格式:.41 1绝对引用绝对引用 对一
13、个对象的引用是从最外层的容器对象开始对一个对象的引用是从最外层的容器对象开始直至该对象的,称为对象的绝对引用。直至该对象的,称为对象的绝对引用。4如:设置下图表单中的如:设置下图表单中的“红色红色”按钮的按钮的“标题标题”THISFORM.THISFORM.红色红色.CAPTION=.CAPTION=红色红色 2 2相对引用相对引用4一个对象的引用是从参照关键字开始至该对象一个对象的引用是从参照关键字开始至该对象的,被称为对象的相对引用的,被称为对象的相对引用JPARENTPARENT 本对象的父对象本对象的父对象JTHISTHIS 本对象本对象JTHISFORMTHISFORM 包含本对象的
14、表单包含本对象的表单JTHISFORMSETTHISFORMSET 包含本对象的表单集包含本对象的表单集O例例2 2 对象的引用对象的引用LABLEL1LABLEL1COMMAND1COMMAND1COMMAND2COMMAND2COMMAND3COMMAND3FORM1FORM1F表单表单FORM1FORM1的的INITINIT事件的代码事件的代码 THIS.COMMAND1.CAPTION=THIS.COMMAND1.CAPTION=设置表单设置表单 THIS.COMMAND2.CAPTION=THIS.COMMAND2.CAPTION=设置标签设置标签 THISFORM.COMMAND3
15、.CAPTION=THISFORM.COMMAND3.CAPTION=退退 出出 F按钮按钮COMMAND1COMMAND1的的CLICKCLICK事件的代码事件的代码 THIS.PARENT.CAPTION=THIS.PARENT.CAPTION=这是第八章例题这是第八章例题22 THIS.PARENT.BACKCOLOR=RGB(200,250,200)THIS.PARENT.BACKCOLOR=RGB(200,250,200)THISFORM.REFRESH THISFORM.REFRESHF按钮按钮COMMAND2COMMAND2的的CLICKCLICK事件的代码事件的代码 THISF
16、ORM.LABEL1.CAPTION=THISFORM.LABEL1.CAPTION=请点击我一下请点击我一下 THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)THISFORM.LABEL1.FORECOLOR=RGB(255,0,0)THIS.PARENT.LABEL1.FONTNAME=THIS.PARENT.LABEL1.FONTNAME=黑体黑体 THISFORM.REFRESH THISFORM.REFRESHF按钮按钮COMMAND3COMMAND3的的CLICKCLICK事件的代码事件的代码 THISFORM.RELEASETHISFORM.RELEA
17、SEF标签标签LABELLABEL的的CLICKCLICK事件的代码事件的代码 THIS.CAPTION=THIS.CAPTION=您真乖,谢谢!您真乖,谢谢!4表单的英文名为表单的英文名为FormForm,是一个可以具有各种属,是一个可以具有各种属性、控件、事件和方法程序的容器对象性、控件、事件和方法程序的容器对象4各种窗口与对话框均为表单的不同表现形式各种窗口与对话框均为表单的不同表现形式4表单往往用来作为表单往往用来作为数据输入数据输入、修改修改或或输出输出的用的用户界面。户界面。8.2.1 8.2.1 创建表单的途径创建表单的途径4创建表单的各种途径创建表单的各种途径J1.1.使用表单
18、向导创建表单使用表单向导创建表单 简单数据维护表单简单数据维护表单J2.2.使用表单生成器创建表单使用表单生成器创建表单 快速生成与某个数据有关的表单快速生成与某个数据有关的表单J3.3.使用表单设计器创建表单使用表单设计器创建表单 是最常用、最直观的方法是最常用、最直观的方法J4.4.通过编写程序的方法创建表单通过编写程序的方法创建表单 要求熟练地掌握面向对象编程的方法与技巧要求熟练地掌握面向对象编程的方法与技巧1.1.使用表单向导创建表单使用表单向导创建表单(8.2.4)(8.2.4)4方法:方法:“文件文件/新建新建/表单表单/向导向导”J创建单表表单创建单表表单O例例3 3 用用zgd
19、azgda表创建一个对表创建一个对zgdazgda表维护的表单表维护的表单J创建一对多表单创建一对多表单O例例4 4 用图书管理数据库用图书管理数据库(Student(Student表、表、BorrowBorrow表表)创建一个一对多的表单,分页列出学生表创建一个一对多的表单,分页列出学生表中每个学生的借书情况中每个学生的借书情况2.2.表单生成器创建快速表单表单生成器创建快速表单(8.3.3)(8.3.3)4表单生成器可以方便、快速地生成一个与数据表单生成器可以方便、快速地生成一个与数据表有关的表单表有关的表单3步骤一:创建新表单步骤一:创建新表单F方式方式1 1:在:在“项目管理器项目管理
20、器”中,选择中,选择“文档文档/表表单单/新建新建/新建表单新建表单”F方式方式2 2:执行:执行“文件文件/新建新建/表单表单/新建文件新建文件”菜菜单命令单命令F方式方式3 3:格式:格式:CREATE FORM CREATE FORM 3步骤二:用生成器生成步骤二:用生成器生成F方式方式1 1:单击:单击“表单设计器表单设计器”工具栏中的工具栏中的“表表单生成器单生成器”按钮按钮F方式方式2 2:右键单击表单窗口,在弹出的快捷菜:右键单击表单窗口,在弹出的快捷菜单中选择单中选择“生成器生成器”命令命令F方式方式3 3:选择主窗口:选择主窗口“表单表单”菜单的菜单的“快速表快速表单单”命令
21、命令O例例5 5 用表单生成器快速生成一个职工档案表用表单生成器快速生成一个职工档案表单单3 3用表单设计器创建表单用表单设计器创建表单4(1 1)菜单方式)菜单方式J方式方式1 1:在:在“项目管理器项目管理器”中,选择中,选择“文档文档/表单表单/新建新建/新建表单新建表单”J方式方式2 2:执行:执行“文件文件/新建新建/表单表单/新建文件新建文件”菜单菜单命令。命令。4(2 2)命令方式)命令方式 格式:格式:CREATE FORM CREATE FORM J表单文件扩展名表单文件扩展名.scx.scx,表单备注文件扩展名,表单备注文件扩展名.sct.sct8.2.2 8.2.2 表单
22、的修改与运行表单的修改与运行41 1表单的修改表单的修改3(1 1)菜单方式)菜单方式J方式方式1 1:在:在“项目管理器项目管理器/文档文档”选项卡中,选选项卡中,选中要修改的表单,单击中要修改的表单,单击“修改修改”按钮按钮J方式方式2 2:执行:执行“文件文件/打开打开”菜单命令,打开要菜单命令,打开要修改的表单文件修改的表单文件4(2 2)命令方式)命令方式 格式:格式:MODIFY FORM MODIFY FORM 2 2表单的运行表单的运行4(1 1)菜单方式)菜单方式J方法方法1 1:在:在“项目管理器项目管理器/文档文档”选项卡内选中选项卡内选中要运行的表单,单击要运行的表单,
23、单击“运行运行”按钮。按钮。J方法方法2 2:执行:执行“程序程序/运行运行”菜单命令,选定要菜单命令,选定要运行的表单,单击运行的表单,单击“运行运行”按钮。按钮。J方法方法3 3:打开表单,执行:打开表单,执行“表单表单/执行表单执行表单”菜菜单命令,或按单命令,或按Ctrl+ECtrl+E组合键。组合键。4(2 2)命令方式)命令方式 格式:格式:DO FORM DO FORM WITH WITH O例例6 6 下面表单的文件名:下面表单的文件名:E8_6E8_6,那么,那么F 修改表单的命令应为:修改表单的命令应为:MODI FORM E8_6MODI FORM E8_6F 运行表单的
24、命令应为:运行表单的命令应为:DO FORM E8_6DO FORM E8_68.2.3 8.2.3 常用属性、事件、方法常用属性、事件、方法41 1布局属性布局属性FTopTop:离顶端的距离:离顶端的距离FLeftLeft:离左边的距离:离左边的距离FWidthWidth:控件的宽:控件的宽FHeightHeight:控件的高:控件的高FFontnameFontname:字体类型:字体类型FFontsizeFontsize:字体大小:字体大小FBackcolorBackcolor:背景颜色:背景颜色FForecolorForecolor:前景颜色:前景颜色FAlignmentAlignme
25、nt:控件中的文本对齐方式:控件中的文本对齐方式FCaptionCaption:显示的标题:显示的标题FAutoSizeAutoSize:是否根据控件内容调整大小:是否根据控件内容调整大小FBorderStyleBorderStyle:边框类型:边框类型FBackStyleBackStyle:对象的背景是否透明:对象的背景是否透明FStatusBarTextStatusBarText:鼠标停在控件上所要显示的文字:鼠标停在控件上所要显示的文字FVisibleVisible:设置对象是否可见:设置对象是否可见42.2.数据属性数据属性FControlSourceControlSource:指定对
26、象绑定的数据源:指定对象绑定的数据源FRowSourceRowSource:指定列表或组合框所绑定的数据:指定列表或组合框所绑定的数据FRowSourceTypeRowSourceType:列表或组合框所绑定的数据类型:列表或组合框所绑定的数据类型FReadOnlyReadOnly:控件数据的只读属性:控件数据的只读属性FValueValue:控件状态或值:控件状态或值FRecordSourceRecordSource 指定与表格绑定的数据源指定与表格绑定的数据源 FRecordSourceTypeRecordSourceType 指定与表格绑定的数据类型指定与表格绑定的数据类型43.3.其它
27、属性其它属性FNameName:设置对象的名,默认控件类型加数字命名:设置对象的名,默认控件类型加数字命名FEnabledEnabled:设置对象是否可用:设置对象是否可用FTabIndexTabIndex:设置用:设置用TabTab键切换时得到焦点的顺序键切换时得到焦点的顺序FTabStopTabStop:设置用:设置用TABTAB键切换时是否可以得到焦点键切换时是否可以得到焦点J属性的设置方法属性的设置方法F用属性窗口进行设置用属性窗口进行设置F在程序中用赋值语句进行赋值在程序中用赋值语句进行赋值J获得属性值的方法获得属性值的方法F用赋值语句取得属性值用赋值语句取得属性值F如设置表单的如设
28、置表单的HeightHeight(1)(1)方法一:在表单的初始化方法一:在表单的初始化(Init)(Init)事件中,写入代事件中,写入代码,如图一所示码,如图一所示(2)(2)方法二:用属性窗口进行赋值,如图二所示方法二:用属性窗口进行赋值,如图二所示图一图一图二图二(3)(3)取得属性值取得属性值A=thisform.heightA=thisform.height44.4.方法方法FRefreshRefresh:刷新该对象,即数据更新:刷新该对象,即数据更新FReleaseRelease:释放该对象:释放该对象FSetFocusSetFocus:设置该对象得焦点:设置该对象得焦点FMov
29、e(a,bMove(a,b):把该对象移到指定的位置:把该对象移到指定的位置(a,b(a,b)FHideHide:对象隐藏:对象隐藏FShowShow:对象显示:对象显示J如下面的引用如下面的引用F Thisform.releaseThisform.releaseF Thisform.text1.setfocus Thisform.text1.setfocusF Thisform.shape1.move(100,50)Thisform.shape1.move(100,50)F Thisform.grid1.refresh Thisform.grid1.refresh4事件事件FLoadLoad
30、:对象加载时发生:对象加载时发生FInitInit:对象初始化时发生,发生在:对象初始化时发生,发生在LoadLoad之后之后FActivateActivate:对象激活时发生:对象激活时发生FClickClick:鼠标单击该对象时发生:鼠标单击该对象时发生FDblClickDblClick:鼠标双击该:鼠标双击该对对象象时发生时发生FGotFocusGotFocus:对象得到焦点时发生:对象得到焦点时发生FLostFocusLostFocus:对象失去焦点时发生:对象失去焦点时发生FKeyPressKeyPress:按下键盘时发生:按下键盘时发生FMouseDownMouseDown:鼠标按
31、下时发生:鼠标按下时发生FDestroyDestroy:对象释放时发生:对象释放时发生O例例7 7 建立如下两个表单建立如下两个表单E8_7.scxE8_7_2.scx3表单一:表单一:Form1Form1FLoadLoad事件事件 messageboxmessagebox(这是这是LOADLOAD事件事件,64,e8_7),64,e8_7)FInitInit事件事件 messageboxmessagebox(这是这是INITINIT事件事件,64,e8_7),64,e8_7)FActivateActivate事件事件 messageboxmessagebox(这是这是ACTIVATEACTI
32、VATE事件事件,64,e8_7),64,e8_7)FRefreshRefresh事件事件 messagebox(messagebox(这是这是 REFRESH REFRESH 事件事件,64,e8_7),64,e8_7)FGotFocusGotFocus事件事件 messageboxmessagebox(这是这是 GOTFOCUS GOTFOCUS 事件事件,64,e8_7),64,e8_7)FClickClick事件事件 messageboxmessagebox(这是这是 CLICK CLICK 事件事件,64,e8_7),64,e8_7)FKeyPressKeyPress事件事件 LPA
33、RAMETERS nKeyCode,nShiftAltCtrlLPARAMETERS nKeyCode,nShiftAltCtrl messagebox messagebox(这是这是KEYPRESSKEYPRESS事件事件,你按的是:你按的是:+chr(nKeyCode),64,e8_7)+chr(nKeyCode),64,e8_7)FHideHide事件事件 messageboxmessagebox(这是这是HIDEHIDE事件事件,64,e8_7),64,e8_7)FReleaseRelease事件事件 messageboxmessagebox(这是这是 RELEASE RELEASE
34、事件事件,64,e8_7),64,e8_7)FLostFocusLostFocus事件事件 messageboxmessagebox(这是这是 LOSTFOCUS LOSTFOCUS 事件事件,64,e8_7),64,e8_7)FDeactivateDeactivate事件事件 messagebox(messagebox(这是这是 DEACTIVATE DEACTIVATE 事件事件,64,e8_7),64,e8_7)FDestroyDestroy事件事件 messageboxmessagebox(这是这是 DESTORY DESTORY 事件事件,64,e8_7),64,e8_7)FUnlo
35、adUnload事件事件 messageboxmessagebox(这是这是UNLOADUNLOAD事件事件,64,e8_7),64,e8_7)FCommand1Command1的的ClickClick事件事件 thisform.hidethisform.hide do form e8_7_2 do form e8_7_23表单二:表单二:Form2Form2FDblClickDblClick事件事件 messagebox(messagebox(这是这是DBLCLICKDBLCLICK事件事件,64,e8_7_2),64,e8_7_2)FRefreshRefresh事件事件 messagebo
36、x(messagebox(这是这是 REFRESH REFRESH 事件事件,64,e8_7_2),64,e8_7_2)FCommand1Command1的的ClickClick事件事件 thisform.refreshthisform.refreshFCommand2Command2的的ClickClick事件事件 e8_7.releasee8_7.release *thisform.releasethisform.release release thisform release thisform3当运行当运行E8_7.scxE8_7.scx时,下面四个对话框出现的先后顺时,下面四个对话框出
37、现的先后顺序序(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注释:注释:MessageBoxMessageBox3用法:用法:t=MessageBoxt=MessageBox(提示内容提示内容,类型类型,提示框标题提示框标题)3“类型类型”设置设置F0 “0 “确定确定”按钮按钮F1 “1
38、 “确定确定”、“取消取消”按钮按钮F2 “2 “放弃放弃”、“重试重试”、“忽略忽略”按钮按钮F3 “3 “是是”、“否否”、“取消取消”按钮按钮F4 “4 “是是”、“否否”按钮按钮F5 “5 “重试重试”、“取消取消”按钮按钮F16 “16 “停止停止”图标图标F32 “32 “疑问疑问”图标图标F48 “48 “惊叹惊叹”图标图标F64 “64 “信息信息”图标图标F0 0 焦点在第一个按钮焦点在第一个按钮F256 256 焦点在第一个按钮焦点在第一个按钮F512 512 焦点在第一个按钮焦点在第一个按钮F上面三类可以求和上面三类可以求和3返回值返回值F1 1 确定确定F2 2 取消取
39、消F3 3 放弃放弃F4 4 重试重试F5 5 忽略忽略F6 6 是是F7 7 否否48.3.1 8.3.1 表单设计器的启动表单设计器的启动3方式方式1 1:单击:单击“常用常用”工具栏的工具栏的“新建新建”按钮,按钮,在在“新建新建”对话框中选定对话框中选定“表单表单”,再单击,再单击“新新建文件建文件”按钮。按钮。3方式方式2 2:在:在“项目管理器项目管理器”中,选择中,选择“文档文档/表单表单/新建新建/新建表单新建表单”3方式方式3 3:执行:执行“文件文件/新建新建/表单表单/新建文件新建文件”菜单菜单命令。命令。3方式方式4 4:在命令窗口执行:在命令窗口执行“CREATE F
40、ORM CREATE FORM”命令。命令。8.3.2 8.3.2 表单设计工具表单设计工具41 1表单设计器工具栏表单设计器工具栏42 2表单控件工具栏表单控件工具栏43 3布局工具栏布局工具栏44 4属性窗口属性窗口45 5代码编辑窗口代码编辑窗口41 1表单设计器工具栏表单设计器工具栏设置设置TAB键次序键次序数据环境数据环境属性窗口属性窗口代码窗口代码窗口表单控件工具栏表单控件工具栏调色板工具栏调色板工具栏布局工具栏布局工具栏表单生成器表单生成器自动格式自动格式42 2表单控件工具栏表单控件工具栏选定按钮选定按钮查看类查看类标签标签文本框文本框编辑框编辑框命令按钮命令按钮命令按钮组命令
41、按钮组选项按钮组选项按钮组复选框复选框组合框组合框列表框列表框微调控件微调控件表格表格图像图像计时器计时器页框页框ActiveX控件控件ActiveX绑定控件绑定控件线条线条形状形状容器容器分离器分离器超级链接超级链接表单生成器表单生成器按钮锁定按钮锁定3布局工具栏布局工具栏4属性窗口属性窗口5代码编辑窗口代码编辑窗口8.3.4 8.3.4 用表单设计器设计表单用表单设计器设计表单4表单设计器创建与设计表单的步骤表单设计器创建与设计表单的步骤3启动表单设计器启动表单设计器3必要时,为表单指定数据源必要时,为表单指定数据源3添加所需的控件,并对控件进行合理布局添加所需的控件,并对控件进行合理布局
42、3为表单和各控件设置有关属性为表单和各控件设置有关属性3为表单和控件的一些特定事件编写程序代码为表单和控件的一些特定事件编写程序代码3保存并运行表单保存并运行表单O例例8 已知定期存款满半年的月利率为已知定期存款满半年的月利率为0.221%,满,满一年后的月利率为一年后的月利率为0.27%,满两年后的月利率为,满两年后的月利率为0.31%,满三年的月利率为,满三年的月利率为0.36%,不足半年的月,不足半年的月利率为利率为0.123%,设计一表单用于计算本金之和,小,设计一表单用于计算本金之和,小数点后保留两位数点后保留两位48.4.1 8.4.1 数据环境数据环境4数据环境泛指创建表单或表单
43、集时所使用的数数据环境泛指创建表单或表单集时所使用的数据源。数据环境也是一个对象,包括与表单或据源。数据环境也是一个对象,包括与表单或表单集相关的数据表、视图以及表之间的关系表单集相关的数据表、视图以及表之间的关系等。等。41 1启动数据环境设计器启动数据环境设计器3方式方式1 1:单击:单击“表单设计器表单设计器”工具栏上的工具栏上的“数数据环境据环境”按钮按钮3式式2 2:主菜单:主菜单“显示显示”/“/“数据环境数据环境”命令命令3式式3 3:右击:右击“表单设计器表单设计器”窗口,选择快捷菜窗口,选择快捷菜单中的单中的“数据环境数据环境”命令命令42 2向数据环境添加表或视图向数据环境
44、添加表或视图3方式方式1 1:主菜单:主菜单“数据环境数据环境”/“/“添加添加”,再在,再在弹出对话框中添加弹出对话框中添加3方式方式2 2:右击:右击“数据环境设计器数据环境设计器”,选择,选择“添添加加”,再在弹出对话框中添加,再在弹出对话框中添加43 3在数据环境中设置表间关系在数据环境中设置表间关系3设置方法与参照完整性设置方法一样设置方法与参照完整性设置方法一样8.4.2 8.4.2 数据绑定数据绑定4数据绑定是指将表单中的控件与某个数据源联数据绑定是指将表单中的控件与某个数据源联系起来系起来4由控件的由控件的ControlSource属性来指定与其相联属性来指定与其相联系的数据源
45、,实现该控件与数据源的数据绑定系的数据源,实现该控件与数据源的数据绑定4与数据源及数据绑定有关的属性与数据源及数据绑定有关的属性 属性属性 说明说明 ControlSourceControlSource 指定与控件绑定的数据源指定与控件绑定的数据源 RecordSourceRecordSource 指定与表格绑定的数据源指定与表格绑定的数据源 RecordSourceTypeRecordSourceType 与表格绑定的数据类型与表格绑定的数据类型 RowSourceRowSource 与组合框或列表框的数据源与组合框或列表框的数据源 RowSourceTypeRowSourceType 与组
46、合或列表框的数据类型与组合或列表框的数据类型8.4.3 8.4.3 向表单添加字段向表单添加字段4用户可从用户可从“数据环境设计器数据环境设计器”、“项目管理器项目管理器”或或“数据库设计器数据库设计器”窗口中直接将字段、表或窗口中直接将字段、表或视图拖入当前的表单,系统将自动产生相应的视图拖入当前的表单,系统将自动产生相应的控件并自动实现该控件与对应字段的数据绑定控件并自动实现该控件与对应字段的数据绑定4默认规则默认规则 数值型:文本框数值型:文本框 表:表:表格表格 字符型:文本框字符型:文本框 视图:视图:表格表格 逻辑型:复选框逻辑型:复选框 通用型:通用型:ActiveXActive
47、X控件控件 备注型:编辑框备注型:编辑框4可在可在“选项选项”对话框中的对话框中的“字段映射字段映射”选项卡选项卡中进行设置中进行设置4例例9 9 用数据绑定的方法建立一个表单对用数据绑定的方法建立一个表单对zgdazgda表进行维护表进行维护4例例1010 用数据绑定的方法建立一个表单对图书用数据绑定的方法建立一个表单对图书管理数据库进行维护管理数据库进行维护48.5.1 8.5.1 标签与命令按钮标签与命令按钮31 1标签标签 标签(标签(LabelLabel)是一种能在表单上显示文本的)是一种能在表单上显示文本的控件,常用来显示提示信息或说明文字控件,常用来显示提示信息或说明文字J常见属
48、性常见属性 NameName:缺省为:缺省为Label1Label1,Label2Label2,CaptionCaption:标题:标题 AutoSizeAutoSize:为:为.T.T.时可以自动调整大小时可以自动调整大小 FontSizeFontSize:字体大小:字体大小 FontNameFontName:字体名:字体名 FontBoldFontBold:设置粗体:设置粗体 FontItalicFontItalic:设置斜体:设置斜体 BackStyleBackStyle:设置背景模式:设置背景模式 ForeColorForeColor:设置前景色:设置前景色 BackColorBack
49、Color:设置背景色:设置背景色 AlignmentAlignment:设置文字对齐方式:设置文字对齐方式 WordWrapWordWrap:文本是否可以自动换行:文本是否可以自动换行 Top Top:距上的距离:距上的距离 LeftLeft:距左边的距离:距左边的距离 HeightHeight:高度:高度 WidthWidth:宽度:宽度O例例1111 设计一表单用于显示当前鼠标的位置设计一表单用于显示当前鼠标的位置(1)(1)创建表单创建表单Form1Form1 Form1.Width 400 Form1.Width 400 Form1.Height 300 Form1.Height 3
50、00 Form1.AutoCenter .t.Form1.AutoCenter .t.Form1.Caption Form1.Caption 标签设计标签设计(2)(2)添加标签添加标签Label1 Label1 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.FontSiz
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。