表单设计与应用表单设计与应用本章要点面向对象的概念建立表单管理表单运行表单常用表单控件表单设计与应用面向对象的概念1.对象(Object)客观世界里的任何实体都可以被看作是对象。对象可以是具体的物,也可以指某些概念。从编程的角度来看,对象是一种将数据和操作过程结合在一起的数据结构,或者是一种具有属性(数据)和方法(过程和函数)的集合体。事实上程序中的对象就是对客观世界中对象的一种抽象描述。(1)对象属性:属性用来表示对象的状态。(2)对象方法:对象方法是描述对象行为的过程。表单设计与应用容器与控件VisualFoxPro中的类一般可分为两种类型:容器类和控件类。相应地,可分别生成容器(对象)和控件(对象)。容器可以被认为是一种特殊的控件,它能包容其他的控件或容器控件是一个可以以图形化的方式显示出来,并能与用户进行交互的对象,但是控件类不能包含其它对象。表单设计与应用事件事件是一种由系统预先定义而由用户或系统发出的动作。事件作用于对象,对象识别事件并作出相应反应。表单设计与应用VisualFoxPro中的常用事件Init:创建对象时发生的事件。通常应用于表单(Form)的初始化事件。Click:鼠标左键单击对象时发生的事件。通常应用于命令按钮(Command)、命令按钮组(CommandGroup)的单击事件。InteractiveChange:以交互方式改变对象的值时发生的事件。通常应用于选项按钮组(OptionGroup)、组合框(Combo)、复选框(Check)的值发生改变时发生的事件。表单设计与应用对象的引用(1)绝对引用:从最高容器开始逐层向下直到某个对象为止的引用称为绝对引用。(2)相对引用:从正在为编写事件代码的对象出发,通过逐层向高一层或低一层直到另一对象的引用称为相对引用。属性或关键字引用This只能针对于当前对象(相对引用)ThisForm当前对象所在的表单(绝对引用)表单设计与应用对象的引用【例】表单Form1中有一个命令按钮Command1,通过单击该命令按钮更改其标题为“确定”。事件代码如下:方法一:THIS.CAPTION=”确定”方法二:THISFORM.COMMAND1.CAPTION=“确定表单设计与应用建立表单表单(Form)是VisualFoxPro提供的用于建立应用程序界面的最主要的工具之一。表单相当于WINDOWS应用程序的窗口。表单设计与应用运行单表在设计时可采用以下方法运行表单文件:(1)在表单设计器窗口中,在系统菜单中选择【表单】|【执行表单】命令,或单击常用工具栏上的按钮运行表单。(2)在命令窗口输入命令:DOFORM表单文件名表单设计与应用表单设计器环境介绍(1)设计器窗口“表单设计器”窗口内包含正在设计的表单。用户可在表单窗口中可视化地添加和修改控件、改变控件布局,表单窗口只能在“表单设计器”窗口内移动。以新建方式启动表单设计器时,系统将默认为用户创建一个空白表单。表单设计与应用(2)属性窗口设计表单的绝大多数工作都是在属性窗口中完成的,因此用户必须熟悉属性窗口的用法。如果在表单设计器中没有出现属性窗口,可在系统菜单中单击【显示】|【属性】,属性窗口如图所示。页框选项卡“对象”下拉列表框图属性设置框表单设计器环境介绍表单设计与应用(3)表单控件工具栏设计表单的主要任务就是利用“表单控件”设计交互式用户界面。“表单控件”工具栏是表单设计的主要工具。默认包含21个控件、4个辅助按钮。表单设计器环境介绍表单设计与应用数据环境数据环境是指在创建表单时需要打开的表,然后以表作为数据源与表单建立关联,表单就可以调用数据环境中表的内容。1.打开数据环境设计器表单设计器环境下,单击“表单设计器”工具栏上的“数据环境”按钮,或选择【显示】|【数据环境】命令,即可打开“数据环境设计器”窗口,此时,系统菜单栏上将出现“数据环境”菜单。表单设计与应用利用数据环境设计器2.向数据环境添加表或视图在“显示”菜单中选择【数据环境】|【添加】命令,或右键单击“数据环境设计器窗口”,然后在弹出的快捷菜单中选择【添加】命令,打开“添加表或视图”对话框,即可添加表或视图。表单设计与应用3.在数据环境中设置关系设置关系的方法为:将父表的某个字段(作为关联表达式)拖曳到子表的相匹配的索引标记上既可。如果子表上没有与主表字段相匹配的索引,也可以将主表字段拖动到子表的某个字段上,这时应根据系统提示确认创建索引。利用数据环境设计器表单设计与应用管理表单表单常用属性属性描述默认值Name表单控件名Form1Caption显示于表单标题栏上的文本Form1AlwaysOnTop指定表单是否总是位于其它打开窗口之上.F.AutoCenter窗口居中显示.F.表单设计与应用表单常用方法(1)Relase方法:将表单从内存中释放。比如表单有一个命令按钮,如果希望单击该命令按钮时关闭表单,就可以在该命令按钮的Click事件中包含如下代码:Thisform.Release表单运行时,用户单击表单右上角的关闭按钮,系统会自动执行Relase方法。(2)Refresh方法:刷新表单。刷新表单代码:THISFORM.REFRESH表单设计与应用标签(Label)控件1.标签控件的功能:标签主要用于显示固定的文本信息。2.标签控件常用属性:Caption:指定标签的显示文本。可以在设计时设置,也可以在程序运时设置或修改。AutoSize:指定是否自动调整控件大小以容纳其内容。ForeColor:设置标题的字体颜色。Name:标签对象的名称,是程序中访问标签对象的标识。Wordwrap:是否允许换行显示表单设计与应用命令按钮控件1.命令按钮(CommandButton)控件功能:命令按钮典型地用来启动某个事件代码、完成特定功能,如关闭表单、移动记录指针、打印报表等。2.命令按钮控件常用属性:Caption:指定标签的显示文本。可以在设计时设置,也可以在程序运时设置或修改。Enabled:指定该控件是否处于可用状态。Name:标签对象的名称,是程序中访问标签对象的标识。表单设计与应用命令按钮组控件1.命令按钮组(CommandGroup)功能:命令按钮组是包含一组命令按钮的容器控件,用户可以单个或作为一组来操作其中的按钮。2.命令按钮组控件常用属性:ButtonCount:指定命令按钮组中按钮的个数AutoSize:指定是否自动调整控件大小以容纳其内容Enabled:指定该控件是否处于可用状态注:通常使用命令按钮组生成器完成布局设计表单设计与应用文本框(TextBox)控件1.文本框控件的功能:(1)用于显示或接收单行文本信息(不设置ControlSource属性),默认输入类型为字符型,最大长度为256个字符。(2)用于显示或编辑对应变量或字段的值(设置ControlSource属性为已有变量或字段名)。注:使用文本框显示表中的信息时,应先设置数据环境。表单设计与应用2.文本框控件常用属性:Value:指定控件的属性值ControlSource:设置文本框的数据来源。一般情况下,可以利用该属性为文本框指定一个字段变量,字段的初值决定文本框中值的类型。PassWordChar:设置输入口令时显示的字符。Readonly:确定文本框是否为只读,为“.T.”时,文本框的值不可修改。文本框(TextBox)控件表单设计与应用编辑框(EditBox)控件1.编辑框控件的功能:用于显示或编辑多行文本信息。编辑框实际上是一个完整的简单字处理器,在编辑框中能够选择、剪切、粘贴以及复制正文,可以实现自动换行,能够有自己的垂直滚动条。表单设计与应用编辑框(EditBox)控件2.编辑框常用属性:ControlSource:设置编辑框的数据源,一般为数据表的备注字段。Value:保存编辑框中的内容,可以通过该属性来访问编辑框中的内容。Readonly:确定用户是否能修改编辑框中的内容。表单设计与应用编辑框(EditBox)控件SelText:返回用户在编辑区内选定的文本,如果没有选定任何文本,则返回空串。SelLength:返回用户在文本输入区中所选定字符的数目。Scroolbars:指定编辑框是否具有滚动条,当属性值为0时,编辑框没有滚动条,当属性值为2(默认值)时,编辑框包含垂直滚动条。表单设计与应用复选框(CheckBox)控件1.复选框的功能:用于标识一个两值状态,1或0。当处于“1”状态时,复选框内显示一个对勾,当处于“0”状态时复选框内为空白。表单设计与应用复选框(CheckBox)控件2.复选框常用属性:Value:用来指明复选框的当前状态,如下表ControlSource属性:用于指定复选框的数据源Value属性值说明0(默认值),未被选中1被选中=2或null不确定,只在代码中有效表单设计与应用表格(Grid)控件1.表格控件的功能:表格控件用于浏览或编辑多行多列数据。2.表格控件常用属性:RecordSourceType:指明表格数据源的类型RecordSource:属性指定数据的来源,它们取值及含义如表所示。ColumnCount:指定表格的列数ControlSource:指定在列中显示的数据源.表单设计与应用表格(Grid)控件注意:在设计列对象的属性时,首先得选择列对象,选择列对象有两种方法:①从属性窗口的对象列表中选择相应列,②右击表格,在弹出的快捷菜单中选择【编辑】命令,这时表格进入编辑状态(表格的周围有一个粗框),用户可用鼠标单击选择列对象。注:通常该控件的数据源都是使用生成器来完成表单设计与应用表格(Grid)控件4.常用的标头(Header)属性列标头也是一个对象,有它自己的属性、方法和事件,设计时要设置标头对象的属性,首先得选择标头对象,选择标头对象的方法与选择列对象的方法类似。Caption属性:指定标头对象的标题文本,显示于列顶部。默认为对应字段的字段名。表单设计与应用使用表格生成器设计表格用鼠标左键右击表格,在弹出的快捷菜单中选择【生成器】命令,打开“表格生成器”对话框,如图所示。“表格项”选项卡:用于设置表格内显示字段“样式”选项卡:指定表格的样式“布局”选项卡:调整行高、列宽;设置列标题;选择控件类型“关系”选项卡:设置一个一对多关系,指明父表中的关键字段与子表中的相关索引表单设计与应用选项按钮组控件1.选项按钮组(OptionGroup)控件的功能:选项组又称为选项按钮组,是包含选项按钮的一种容器。一个选项组中往往包含若干个选项按钮,但用户只能从中选择一个按钮。当用户单击某个选项按钮时,该按钮即成为被选中状态,而选项组中的其他选项按钮,不管原来是什么状态,都变成未选中状态,被选中的选项按钮中会显示一个圆点。表单设计与应用选项按钮组控件2.选项按钮组常用属性:ButtonCount:指定选项组中选项按钮的数目。Value:用于指定选项组中哪个选项按钮被选中。当第1个按钮被选中,Value属性值则为1,当第2个按钮被选中后,Value属性值则为2注:通常使用选项按钮组生成器完成布局设计表单设计与应用列表框(ListBox)控件1.列表框的功能:列表框提供一组条目(数据项),用户可以从中选择一个或多个条目.2.选项组常用属性:RowSourceType:属性指明列表框数据源的类型RowSource:属性指定列表框的数据源,两者常用的搭配如表。Value:被选中的条目即为该控件的属性值注:通常该控件的数据源都是使用生成器来完成表单设计与应用组合框(comboBox)控件组合框与列表框类似,也是用于提供一组条目供用户从中选择,组合框和和列表框的主要区别在于:(1)对于组合框来说,通常只有一个条目是可见的。用户可以单击组合框上的下拉箭头按钮打开条目列表,以便从中选择。Value:被选中的条目即为该控件的属性值(2)组合框有两种形式:下拉组合框(Style属性为0)和下拉列表框(Style属性为2)。对下拉组合框,用户既可以从列表中选择,也可以在编辑区输入。注:通常该控件的数据源都是使用生成器来完