版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2004-12-28制作者:王伟勤制作者:王伟勤1其它控件介绍其它控件介绍表单管理表单管理 多表单应用程序多表单应用程序 类类 建立工具栏建立工具栏 2004-12-28制作者:王伟勤制作者:王伟勤2表单设计的基本步骤为:表单设计的基本步骤为: 打开表单设计器打开表单设计器向表单添加控件向表单添加控件设置表单及控件的属性设置表单及控件的属性添加表单及控件的事件代码添加表单及控件的事件代码保存表单保存表单运行及调试表单。运行及调试表单。2004-12-28制作者:王伟勤制作者:王伟勤3其它控件介绍其它控件介绍 控件的通用属性控件的通用属性 命令按钮组控件命令按钮组控件 编辑框编辑框 复选框和单选
2、框复选框和单选框 列表框和组合框列表框和组合框 微调控件微调控件 表格和页框表格和页框 超级连接超级连接 ActiveX控件和控件和ActiveX绑定控件绑定控件 2004-12-28制作者:王伟勤制作者:王伟勤4控件的通用属性控件的通用属性 Enabled属性属性 Visible属性属性 以以Font打头的一组属性打头的一组属性 为多个对象设置共同属性为多个对象设置共同属性 这一属性是除这一属性是除“超级连接超级连接”之外的所有控件及表之外的所有控件及表单都有的属性,其值可设置为:单都有的属性,其值可设置为:.T.-真或真或.F.-假,假,指定表单或控件能否响应由用户引发的事件。只指定表单或
3、控件能否响应由用户引发的事件。只有有“计时器计时器”控件的这一属性的含义不同,请参控件的这一属性的含义不同,请参阅阅6.6.3节。节。 这一属性是除这一属性是除“超级连接超级连接”和和“计时器计时器”之外的之外的所有运行时可见的控件及表单都有的属性,其值所有运行时可见的控件及表单都有的属性,其值可设置为:可设置为:.T.-真或真或.F.-假,指定运行时对象是可假,指定运行时对象是可见还是隐藏。见还是隐藏。 FontSize:定义字的大小;:定义字的大小;FontName:定义文本的字体;:定义文本的字体;FontColor:定义字的颜色;:定义字的颜色;Fontbold:定义文字是否粗体;:定
4、义文字是否粗体;FontItalic:定义文字是否斜体;:定义文字是否斜体;这组属性是许多可有文字的对象都有的属性,如:表这组属性是许多可有文字的对象都有的属性,如:表单、标签控件、命令按钮控件、文本框控件、表格控单、标签控件、命令按钮控件、文本框控件、表格控件、列表框控件等等。件、列表框控件等等。 按住按住Shift健分别单击若干对象,用来选取需设置健分别单击若干对象,用来选取需设置属性的对象,属性窗口的对象组合框中将会显示属性的对象,属性窗口的对象组合框中将会显示“多重选定多重选定”文本,此时便可在属性窗口为这些文本,此时便可在属性窗口为这些对象设置共同属性,例如:设置对象设置共同属性,例
5、如:设置FontSize属性改属性改变文字大小。变文字大小。 2004-12-28制作者:王伟勤制作者:王伟勤5命令按钮组控件命令按钮组控件 命令按钮组控件是一个容器控件,它可包含若干命令按钮组控件是一个容器控件,它可包含若干个命令按钮,并能统一管理这些命令按钮,命令个命令按钮,并能统一管理这些命令按钮,命令按钮组与组内的各命令按钮都有自己的属性,事按钮组与组内的各命令按钮都有自己的属性,事件和方法程序,因而既可单独操作各命令按钮,件和方法程序,因而既可单独操作各命令按钮,也可对组控件进行操作。也可对组控件进行操作。命令按钮组的生成器命令按钮组的生成器 命令按钮组及其命令按钮的操作命令按钮组及
6、其命令按钮的操作 按钮选项卡按钮选项卡(1)微调控件:指定命令按钮组中的按钮数,对应微调控件:指定命令按钮组中的按钮数,对应于命令按钮组的于命令按钮组的ButtonCount属性属性(2)表格:包含标题和图形两列。表格:包含标题和图形两列。标题列对应于命令按钮的标题列对应于命令按钮的Caption属性,命令按钮可属性,命令按钮可以具有标题或图象,或两者都有。图形列对应于命令以具有标题或图象,或两者都有。图形列对应于命令按钮的按钮的Picture属性。属性。命令按钮会自动调整大小,以容纳新的标题和图片,命令按钮会自动调整大小,以容纳新的标题和图片,组容器也会自动调整大小。组容器也会自动调整大小。
7、布局选项卡布局选项卡(1)按钮布局:指定命令按钮组内的按钮按竖直方按钮布局:指定命令按钮组内的按钮按竖直方向或水平方向排列。向或水平方向排列。(2)按钮间隔:指定按钮之间的间隔。按钮间隔:指定按钮之间的间隔。上述两项将影响命令按钮组的上述两项将影响命令按钮组的Height和和Width属性。属性。(3)边框样式:指定命令按钮组有单线边栏或无边边框样式:指定命令按钮组有单线边栏或无边框。框。 Click事件的判别事件的判别容器中对象的引用容器中对象的引用容器及其对象的编辑容器及其对象的编辑 常用命令按钮组的属性有:常用命令按钮组的属性有:ButtonCount:设置组中命令按钮的数目。:设置组中
8、命令按钮的数目。BackStyle:设置命令按钮的背景是否透明。:设置命令按钮的背景是否透明。BorderStyle:定义命令按钮组的边框。:定义命令按钮组的边框。 (2)单击某命令按钮时,组控件的单击某命令按钮时,组控件的Value属性就会获得一个数属性就会获得一个数值或字符串:当值或字符串:当Value属性为属性为1(默认值默认值)时,将获得命令按时,将获得命令按钮的顺序号,它是一个数值;而当钮的顺序号,它是一个数值;而当Value属性设置为空时,属性设置为空时,将获得命令按钮的将获得命令按钮的Caption值,它是字符串。于是在命令值,它是字符串。于是在命令按钮组的按钮组的Click事件
9、代码中便可判别出单击的是哪个命令事件代码中便可判别出单击的是哪个命令按钮,并决定执行的动作。按钮,并决定执行的动作。(1)若命令按钮组及其所含的各命令按钮分别设置了若命令按钮组及其所含的各命令按钮分别设置了Click事事件代码,件代码,Visual FoxPro将以命令按钮的将以命令按钮的Click事件代码优事件代码优先。先。例如引用命令按钮组中的命令按钮,例如引用命令按钮组中的命令按钮,Thisform.Commandgroupl.Commandl或或This.Commandl。 (1)容器本身的编辑:设计时若在表单上选定容器,就可编容器本身的编辑:设计时若在表单上选定容器,就可编辑该容器的
10、属性、事件代码与方法程序,但不能编辑容器辑该容器的属性、事件代码与方法程序,但不能编辑容器中的对象。中的对象。 (2)容器中对象的编辑:要编辑容器中的对象,须先激活容容器中对象的编辑:要编辑容器中的对象,须先激活容器。激活的方法是选定容器的快捷菜单中的【编辑】命令,器。激活的方法是选定容器的快捷菜单中的【编辑】命令,容器被激活的标志是其四周显示一个斜线边框,容器被激活的标志是其四周显示一个斜线边框,如图所示如图所示。容器激活后,用户便可选定其中的对象进行编辑。容器激活后,用户便可选定其中的对象进行编辑。2004-12-28制作者:王伟勤制作者:王伟勤6操作步骤如下:操作步骤如下:计算器的按钮部
11、分用命令按钮组控件进行设计。向表单计算器的按钮部分用命令按钮组控件进行设计。向表单添加一个命令按钮组控件,在命令按钮组控件上单击右添加一个命令按钮组控件,在命令按钮组控件上单击右键,选择【生成器】,在按钮选项卡中设置按钮数目为键,选择【生成器】,在按钮选项卡中设置按钮数目为16,并设置标题,并设置标题 。然后在。然后在“布局布局”页面中设置页面中设置“按钮布局按钮布局”为:水平。单击【确定】按钮,关闭生成为:水平。单击【确定】按钮,关闭生成器。设置命令按钮组控件的器。设置命令按钮组控件的Height属性值为属性值为140,在命令,在命令按钮组控件上单击右键,选择【编辑】,移动命令按钮,按钮组控
12、件上单击右键,选择【编辑】,移动命令按钮,将所有命令按钮的将所有命令按钮的height和和Widdth均设置为:均设置为:25,设置,设置成成 的状态。其它部分外观的设计同的状态。其它部分外观的设计同例例6-10,可以从可以从例例6-10的表单中复制过来。的表单中复制过来。 例例8-1 用命令按钮组设计用命令按钮组设计例例6-10的的计算器。计算器。 设置命令按钮组控件设置命令按钮组控件Commandgroup1的的Value属性值为:属性值为:=“”这一步骤非常重要,如没有这一步,计算器的设置要这一步骤非常重要,如没有这一步,计算器的设置要复杂得多。复杂得多。在命令按钮组控件在命令按钮组控件
13、Commandgroup1的的Click事件添加下事件添加下列代码:列代码:IF Thisform.t AND (asc(This.Value)=48 AND ASC(This.Value)12 This.Parent.label5.Caption=下午下午ELSEThis.Parent.label5.Caption=上午上午ENDIFELSE &如果用户选择如果用户选择24小时制小时制SET HOURS TO 24This.Parent.text2.Width=241ENDIFIF This.Parent.check2.Value=1This.Parent.text2.Value=SUBST
14、R(TTOC(DATETIME(),10,8)ELSE &如果用户选择不显示秒如果用户选择不显示秒This.Parent.text2.Value=SUBSTR(TTOC(DATETIME(),10,5)ENDIF 如图所示如图所示2004-12-28制作者:王伟勤制作者:王伟勤13列表框和组合框列表框和组合框 列表框与组合框都有一个供用户选项的列表,列表框与组合框都有一个供用户选项的列表,但两者之间有两个区别:但两者之间有两个区别:(1)列表框任何时候都显示它的列表,而组合框平列表框任何时候都显示它的列表,而组合框平时只显示一个项,待用户单击它的向下按钮后才时只显示一个项,待用户单击它的向下按
15、钮后才能显示可滚动的下拉列表。若要节省空间,并且能显示可滚动的下拉列表。若要节省空间,并且突出当前选定的项时可使用组合框。突出当前选定的项时可使用组合框。(2)组合框又分下拉组合框与下拉列表框两类,前组合框又分下拉组合框与下拉列表框两类,前者允许键入数据项;而列表框与下拉列表框都仅者允许键入数据项;而列表框与下拉列表框都仅有选项功能。有选项功能。 2004-12-28制作者:王伟勤制作者:王伟勤14列表框控件列表框控件 生成器生成器 列表框生成器含有列表项、布局、样式、值等列表框生成器含有列表项、布局、样式、值等4个选项卡,用于为列表框设置各种属性。个选项卡,用于为列表框设置各种属性。列表项选
16、项卡列表项选项卡 样式选项卡样式选项卡 布局选项卡布局选项卡 值选项卡值选项卡 控件值源的类型控件值源的类型 列表框的常用属性列表框的常用属性 列表项选项卡列表项选项卡该选项卡用于指定要填充到列表框中的项。该选项卡用于指定要填充到列表框中的项。填充项可以是填充项可以是3种类型数据之一:表或视图中的种类型数据之一:表或视图中的字段、手工输入的数据或数组中的值。字段、手工输入的数据或数组中的值。 表或视图中的字段表或视图中的字段 手工输入数据手工输入数据数组中的值数组中的值 样式选项卡该选项卡用于指定列表框的样式,所显示的行该选项卡用于指定列表框的样式,所显示的行数,要否递增搜索。下面仅说明显示行
17、数的设数,要否递增搜索。下面仅说明显示行数的设置。置。“要显示的行数要显示的行数”微调控件用来调整列表框的微调控件用来调整列表框的显示行数,但是仅在文本选取显示行数,但是仅在文本选取7号字时所设置号字时所设置的行数与实际项数相符。原因是该微调控件的的行数与实际项数相符。原因是该微调控件的设置实际上改变了列表框的设置实际上改变了列表框的Height属性,而属性,而Visual FoxPro则按象素来指定高度。则按象素来指定高度。 布局选项卡布局选项卡含有布局选项卡含有1个复选框和个复选框和1个表格,用于个表格,用于控制列表框的列宽和显示。控制列表框的列宽和显示。1)“调整列表框的宽度来显示所有列
18、调整列表框的宽度来显示所有列”复选框:该选复选框:该选项自动设置了项自动设置了Width属性,能根据列表项选项卡中属性,能根据列表项选项卡中微调控件指定的列数自动调整列表框的宽度。微调控件指定的列数自动调整列表框的宽度。2)表格:表格中显示了在列表项选项卡中定义的列,表格:表格中显示了在列表项选项卡中定义的列,并可用鼠标拖动列标头右边的列间隔线来调整列并可用鼠标拖动列标头右边的列间隔线来调整列宽,相当于修改了宽,相当于修改了Co1umnWidths属性。双击列属性。双击列标头还可隐藏该列,使得表单执行时该列不显示,标头还可隐藏该列,使得表单执行时该列不显示,但其数据仍起作用。但其数据仍起作用。
19、 值选项卡值选项卡包含两个组合框,分别用来指定返值选项卡包含两个组合框,分别用来指定返回值的列以及存储返回值的字段。回值的列以及存储返回值的字段。1)“从哪一列中返回值从哪一列中返回值”组合框:该组合框的操作对组合框:该组合框的操作对应于应于BoundColumn属性。组合框列表中包含字属性。组合框列表中包含字段名或表示列号的选项,供用户决定列表框返回段名或表示列号的选项,供用户决定列表框返回值的字段或列。值的字段或列。2)字段名组合框:该组合框的操作对应于字段名组合框:该组合框的操作对应于ControlSource属性,用来指定存储返回值的字属性,用来指定存储返回值的字段。段。 控件值源的类
20、型控件值源的类型 列表框和组合框的列表中可以填充各类数据,列表框和组合框的列表中可以填充各类数据,在上述的列表框生成器中,已涉及值,数组在上述的列表框生成器中,已涉及值,数组和字段和字段3种类型,实际上共有种类型,实际上共有9类它们均由类它们均由RowSourceType属性来指定,属性来指定,RowSourceType 属性的可取值如表属性的可取值如表8-1所示:所示: 列表框的常用属性列表框的常用属性 MoverBars:设置列表框的左侧是否显示移动:设置列表框的左侧是否显示移动按钮。按钮。MultiSelect:设置用户是否可以同时在列表中:设置用户是否可以同时在列表中选择多项。选择多项
21、。Value:返回列表框中选定的项,如果有多列,:返回列表框中选定的项,如果有多列,返回由返回由BoundColumn属性指定的列的内容。属性指定的列的内容。DisplayValue:返回列表框中选定的项第一列:返回列表框中选定的项第一列的内容。的内容。 2004-12-28制作者:王伟勤制作者:王伟勤15例例8-4 设计一个表单,实现设计一个表单,实现 的简易数学用表。的简易数学用表。 原数取原数取1100。 操作步骤如下:操作步骤如下:新建一个表单,向表单添加五个标签控件,一新建一个表单,向表单添加五个标签控件,一个列表框控件,并设置相关属性使其外观如图个列表框控件,并设置相关属性使其外观
22、如图8-10所示。所示。设置列表框控件设置列表框控件List1的属性的属性ColumnCount的的值为值为5,说明含有,说明含有5列;属性列;属性ColumnWidth的的值为:值为:30,40,50,50,180,确定,确定5列各自的宽度。列各自的宽度。在控件在控件List1的的Init事件中添加如下代码:事件中添加如下代码: FOR i=1 to 100n=STR(i,3)This.AddListItem(n,i,1)n=STR(i*i,5)This.AddListItem(n,i,2)n=STR(SQRT(i),7,4)This.AddListItem(n,i,3)n=STR(LOG(
23、i),7,4)This.AddListItem(n,i,4)n=STR(EXP(i),17,4)This.AddListItem(n,i,5)ENDFOR如图所示如图所示2004-12-28制作者:王伟勤制作者:王伟勤16组合框控件组合框控件 组合框是列表框和文本框的组合。组合框有组合框是列表框和文本框的组合。组合框有两种类型:两种类型:下拉式组合框下拉式组合框, Style属性的值是属性的值是0时时下拉式列表框,下拉式列表框,Style属性的值是属性的值是2时时组合框控件也有生成器,用法与列表框完全组合框控件也有生成器,用法与列表框完全相同相同 除了生成器提到的属性外,组合框的常用属除了生成
24、器提到的属性外,组合框的常用属性还有:性还有: Value属性属性 DisplayValue属性属性 ListCount属性属性 ListIndex属性属性 List属性属性 Selected属性属性 功能:返回组合框中选定的项,如果有多列,功能:返回组合框中选定的项,如果有多列,返回由返回由BoundColumn属性指定的列的内容。属性指定的列的内容。 功能:返回组合框中选定的项第一列的内容。功能:返回组合框中选定的项第一列的内容。也可返回用户输入的内容。也可返回用户输入的内容。 功能:返回组合框或列表框中列表项的个数。功能:返回组合框或列表框中列表项的个数。说明:该属性在设计时不可用,运行
25、时为只读说明:该属性在设计时不可用,运行时为只读属性。即仅可取用属性值,不可进行设置。属性。即仅可取用属性值,不可进行设置。 格式:格式:Control.ListIndex=nIndex 功能:返回或设置组合框功能:返回或设置组合框(列表框列表框)列表显示时列表显示时选定项的顺序号。选定项的顺序号。说明:说明:(1)本属性用顺序号来表示某项已被选定。本属性用顺序号来表示某项已被选定。nIndex则则代表要设置的顺序号,可取代表要设置的顺序号,可取1到到ListCount之间的整之间的整数之一。数之一。nIndex的缺省值是的缺省值是0,表示没有选定列表项。对于下,表示没有选定列表项。对于下拉组
26、合框,当列表中没有与键入值相同的项时就返拉组合框,当列表中没有与键入值相同的项时就返回回0。(2)本属性设计时不可用,运行时可读写。本属性设计时不可用,运行时可读写。 格式:格式:Control.List(nRow,nCol )功能:返回组合框或列表框第功能:返回组合框或列表框第nRow行,行,nCol列的内容。列的内容。 格式:格式:control.Selected(nIndex)=IExpr 功能:用于分辨组合框或列表框中某一列表项功能:用于分辨组合框或列表框中某一列表项是否被选中。当选中时是否被选中。当选中时Selected属性返回属性返回.T.,否则返回否则返回.F.。说明:说明:(1
27、)nIndex表示列表项的显示顺序号;表示列表项的显示顺序号;(2)IExpr可取可取.T.或或.F.之一,用来设置属性值;之一,用来设置属性值;(3)本属性设计时不可用,运行时可读写。本属性设计时不可用,运行时可读写。 2004-12-28制作者:王伟勤制作者:王伟勤17微调控件微调控件 微调控件的常用属性有:微调控件的常用属性有:Increment:用户点按向上或向下按钮时每次增大或减小:用户点按向上或向下按钮时每次增大或减小的值。的值。KeyboardHighValue:能输入到微调控件文本框中的最:能输入到微调控件文本框中的最大值。大值。KeyboardLowValue:能输入到微调控
28、件文本框中的最:能输入到微调控件文本框中的最小值。小值。SpinnerHighValue:用户按向上按钮时能达到的最大值。:用户按向上按钮时能达到的最大值。SpinnerLowValue:用户按向下按钮时能达到的最小值。:用户按向下按钮时能达到的最小值。Value:返回用户设置的值。:返回用户设置的值。 2004-12-28制作者:王伟勤制作者:王伟勤18例例8-5 设计新增人事数据的表单设计新增人事数据的表单 要求充分利用新学的知识,设计表单时尽量为用户着想,为要求充分利用新学的知识,设计表单时尽量为用户着想,为用户提供方便。用户提供方便。 设计步骤如下:设计步骤如下:新建一个名为新建一个名
29、为RSBWH的表的表单,向表单添加数据环境,单,向表单添加数据环境,数据环境中添加数据环境中添加RSB.DBF和和BMDM.DBF两个表文件。注两个表文件。注意:必需删除两表间的关系。意:必需删除两表间的关系。并向并向BMDM表添加一条空记表添加一条空记录。录。利用数据环境向表单快速添利用数据环境向表单快速添加控件:用鼠标指向加控件:用鼠标指向RSB表表的字段行,按下鼠标左键拖的字段行,按下鼠标左键拖曳到表单的左上角,释放鼠曳到表单的左上角,释放鼠标则产生如图所示的表单,标则产生如图所示的表单,默认表单不够大,可拖曳表默认表单不够大,可拖曳表单边框到足够大,就可以看单边框到足够大,就可以看到所
30、有的控件。到所有的控件。 对于性别字段的输入,只有对于性别字段的输入,只有两种可取值,没有必要让用两种可取值,没有必要让用户输入户输入“男男”或或“女女”,可,可利用选项按钮组控件,如图利用选项按钮组控件,如图8-12所示,由用户单击鼠标所示,由用户单击鼠标就可选定就可选定“男男”或或“女女”。所以需将已有的与性别绑定所以需将已有的与性别绑定的文本框删除。的文本框删除。操作如下:在表单空表操作如下:在表单空表处单击鼠标,取消对所处单击鼠标,取消对所有控件的选择,选择与有控件的选择,选择与性别绑定的文本框,按性别绑定的文本框,按Delete键删除。添加一键删除。添加一个选项按钮组,设置成个选项按
31、钮组,设置成如图如图8-13右上角所示的右上角所示的外观。外观。对于对于“部门代码部门代码”字段的值要字段的值要利用利用BMDM表的内容,删除与表的内容,删除与“部门代码部门代码”绑定的文本框,绑定的文本框,添加一个组合框控件,在组合添加一个组合框控件,在组合框上单击鼠标右键,选择【生框上单击鼠标右键,选择【生成器】,对成器】,对“列表项列表项”页面设页面设置成如图置成如图8-14所示,对所示,对“值值”页面设置成如图页面设置成如图8-15所示,其所示,其它两个页面不变,最后单击它两个页面不变,最后单击【确定】确认设置。【确定】确认设置。删除与删除与“出生日期出生日期”和和“工作日期工作日期”
32、绑定的文本框,保留相应的标签,添绑定的文本框,保留相应的标签,添加两个微调控件、一个组合框控件、加两个微调控件、一个组合框控件、一个形状控件和三个标签控件,并调一个形状控件和三个标签控件,并调整成图整成图8-13第二行的外观。提示:形第二行的外观。提示:形状控件要置后。在组合框上单击鼠标状控件要置后。在组合框上单击鼠标右键,选择【生成器】,对右键,选择【生成器】,对“列表项列表项”页面设置成如图页面设置成如图8-16所示,表格中的所示,表格中的数一直输入到数一直输入到12,其它三个页面不,其它三个页面不变,最后单击【确定】确认设置。并变,最后单击【确定】确认设置。并设置两个微调控件的属性如表设
33、置两个微调控件的属性如表8-2所所示示选定输入年月日的所有控件,如选定输入年月日的所有控件,如图图8-17所示。单击所示。单击“复制复制”按钮,按钮,再单击再单击“粘帖粘帖”按钮,这样就有按钮,这样就有了两个输入日期的控件,再将了两个输入日期的控件,再将Spinner1、Spinner2、Spinner3、Spinner4的的Value属属性分别设置为:性分别设置为:1960,1,1949,1作为默认值。作为默认值。 对于对于“职称职称”字段,也需作处理,字段,也需作处理,为给用户提供更方便的输入界面,为给用户提供更方便的输入界面,删除与删除与“职称职称”绑定的文本框,绑定的文本框,添加一个组
34、合框控件,在组合框添加一个组合框控件,在组合框上单击鼠标右键,选择【生成上单击鼠标右键,选择【生成器】,对器】,对“列表项列表项”页面设置成页面设置成如图如图8-18所示,对所示,对“值值”页面设页面设置成如图置成如图8-19所示,其它两个页所示,其它两个页面不变,最后单击【确定】确认面不变,最后单击【确定】确认设置。设置。对于对于“相片相片”字段,也需作处理,字段,也需作处理,为美观起见,添加一个形状控件,为美观起见,添加一个形状控件,使其置后,并设置成三维。为给使其置后,并设置成三维。为给用户提供更方便的输入界面,添用户提供更方便的输入界面,添加一个命令按钮,将命令按钮的加一个命令按钮,将
35、命令按钮的外观设置成如图外观设置成如图8-13所示,相片所示,相片标签下的命令按钮形状,并设置标签下的命令按钮形状,并设置该命令按钮的该命令按钮的Click事件的代码为:事件的代码为:filename=GETPICT() &利用利用getpict()函数打开选择图函数打开选择图片的对话框片的对话框APPEND GENERAL 相片相片 FROM &filename &将选将选取的图片放到当前记录的相片字段中取的图片放到当前记录的相片字段中Thisform.Refresh() &刷新表单的显示,目的是让刚选刷新表单的显示,目的是让刚选的图显示出来的图显示出来 调整各控件的位置如图调整各控件的位置
36、如图8-13所示,添加两个线条控件、所示,添加两个线条控件、两个命令按钮控件,线条的两个命令按钮控件,线条的颜色一条设置成深灰、一条颜色一条设置成深灰、一条设置成白色,两条紧埃着,设置成白色,两条紧埃着,形成如图形成如图8-13所示的立体效所示的立体效果。命令按钮的外观设置成果。命令按钮的外观设置成如图如图8-13所示。所示。添加控件代码:添加控件代码:Init事件代码事件代码 “保存保存”按钮的按钮的Click事件代码事件代码 “取消退出取消退出”命令按钮的命令按钮的Click事件代码事件代码 四个组合框控件的四个组合框控件的Init事件代码事件代码 选项按钮组的选项按钮组的Click事件的
37、代码事件的代码 与职称绑定组合框控件的与职称绑定组合框控件的LostFocus事件的代码事件的代码 2004-12-28制作者:王伟勤制作者:王伟勤19表格控件表格控件 Visual FoxPro提供了一个强大的工具来显示提供了一个强大的工具来显示和操作多行数据,这就是表格。表格是一个和操作多行数据,这就是表格。表格是一个容器对象,像表单集能包含多个表单一样,容器对象,像表单集能包含多个表单一样,它可以包含多个列。另外,列可以包含表头它可以包含多个列。另外,列可以包含表头和控件,并且每一部分都有自己的属性、事和控件,并且每一部分都有自己的属性、事件和方法。件和方法。 表格的组成表格的组成 在表
38、单窗口添加表格控件在表单窗口添加表格控件 表格编辑表格编辑 表格的常用属性表格的常用属性 用表格控件建立一对多表单用表格控件建立一对多表单 (1)表格表格(Grid):由一或若干列组成:由一或若干列组成(2)列列(Column):一列可显示表的一个字段,列由:一列可显示表的一个字段,列由列标题和列控件组成。列标题和列控件组成。(3)列标题列标题(例如:例如:Headerl):默认显示字段名,允:默认显示字段名,允许修改。许修改。(4)列控件列控件(例如:例如:Textl);一列必须设置一个列控;一列必须设置一个列控件,该列中的每个单元格都可用此控件来显示字件,该列中的每个单元格都可用此控件来显
39、示字段值。列控件默认为文本框段值。列控件默认为文本框 从数据环境创建从数据环境创建 利用表格生成器创建利用表格生成器创建 表格项选项卡表格项选项卡 样式选项卡样式选项卡 布局选项卡布局选项卡 关系选项卡关系选项卡 交互式创建交互式创建修改列标题修改列标题前已提到,在表格生成器的标题文本框中可以修改列前已提到,在表格生成器的标题文本框中可以修改列标题。此外还有下面两种方法。标题。此外还有下面两种方法。a. 用代码修改:例如用代码修改:例如Thisform.Gridl.Column2.Headerl.Caption=”名称名称”,可将表格中第可将表格中第2列的标题修改为:名称。列的标题修改为:名称
40、。b. 在属性窗口对象列表中按照从容器到对象的次序,在属性窗口对象列表中按照从容器到对象的次序,找到找到Headerl对象后,选择该对象作为当前对象,然对象后,选择该对象作为当前对象,然后修改其后修改其Caption属性。属性。 调整表格的行高与列宽调整表格的行高与列宽a. 调整列宽:表格激活后,将鼠标指针置于表格两列调整列宽:表格激活后,将鼠标指针置于表格两列标题之间,这时指针变为带有左右双向箭头的竖条,标题之间,这时指针变为带有左右双向箭头的竖条,便可左右拖动列线来改变列宽另一种方法是设置列便可左右拖动列线来改变列宽另一种方法是设置列的的Width属性,例如令属性,例如令Thisform.
41、Gridl.Columnl.Width=50b. 调整行高:标题栏行和内容行的调整方法略有不同。调整行高:标题栏行和内容行的调整方法略有不同。表格激活后,若调整标题栏高度,可将鼠标指针置于表格激活后,若调整标题栏高度,可将鼠标指针置于表格标题栏行首按钮的下框线处,当指针变成带有上表格标题栏行首按钮的下框线处,当指针变成带有上下双向箭头的横条后,即可上下拖动行线来改变高度。下双向箭头的横条后,即可上下拖动行线来改变高度。调整内容行高度时,应将鼠标指针置于表格内容第调整内容行高度时,应将鼠标指针置于表格内容第1行行行首按钮的下框线处,然后上下拖动行线来改变行高。行首按钮的下框线处,然后上下拖动行线
42、来改变行高。此时,所有内容行的高度将统一变化。此时,所有内容行的高度将统一变化。 若要禁止用户在运行时擅自改变表格标题栏的高若要禁止用户在运行时擅自改变表格标题栏的高度,可将表格的度,可将表格的AllowHeaderSizing属性设置属性设置为为.F.;若表格的;若表格的AllowRowSizing属性为属性为.F.,则,则禁止改变表格内容行的高度。禁止改变表格内容行的高度。列的增删列的增删a. 在表格的在表格的ColumnCount属性中设置表格的列数,从属性中设置表格的列数,从而改变表格的列数。而改变表格的列数。b. 打开表格生成器,在表格项选项卡中可增加或减少字打开表格生成器,在表格项
43、选项卡中可增加或减少字段。段。c. 要删除列,可在属性窗口中选定某列后按要删除列,可在属性窗口中选定某列后按Del健。健。列属性列属性ControlSource:指定某表的某字段作为本列的数据:指定某表的某字段作为本列的数据源。源。CurrentControl:为列指定控件。:为列指定控件。Spares:取值为:取值为.T.(默认值默认值)时,在列表中只有选中的时,在列表中只有选中的单元格以单元格以CurrentControl指定的控件显示,其它单元指定的控件显示,其它单元格仍以文本框显示。取值为格仍以文本框显示。取值为.F.时,该列的所有单元格时,该列的所有单元格均以均以CurrentCon
44、trol指定的控件显示。指定的控件显示。 在数据环境中建立一对多表单的步骤如下:在数据环境中建立一对多表单的步骤如下:从数据环境设计器的父表中把期望的字段拖动到表单从数据环境设计器的父表中把期望的字段拖动到表单里。里。从数据环境设计器中把相关的子表拖动到表单里。从数据环境设计器中把相关的子表拖动到表单里。表格属性表格属性ChildOrder:与父表的主关键字相连接的子表的外部:与父表的主关键字相连接的子表的外部关键字。关键字。ColumnCount:列数。如果:列数。如果ColumnCount设置为设置为-1,表格的列数与表格的列数与RecordSource中的字段数相同。中的字段数相同。Li
45、nkMaster:在表格中显示的子记录的父表。:在表格中显示的子记录的父表。RecordSource:显示在表格中的数据源。:显示在表格中的数据源。RecordSourceType:显示在表格中的数据类型。:显示在表格中的数据类型。AllowAddNew:该属性为:该属性为.T.时允许用户向表格中的时允许用户向表格中的表添加记录。该属性为表添加记录。该属性为.F.(默认值默认值)时,只能用时,只能用APPEND BLANK或或INSERT命令来添加记录。命令来添加记录。2004-12-28制作者:王伟勤制作者:王伟勤20例例8-6 设计一个按部门浏览人事表设计一个按部门浏览人事表记录的表单。记
46、录的表单。 设计步骤如下:设计步骤如下:建立一个新表单,为该表单添加数据环境,在数据环境建立一个新表单,为该表单添加数据环境,在数据环境中添加表中添加表BMDM和表和表RSB,将表,将表BMDM的的“部门名称部门名称”字段从数据环境中拖到表单中,在表单中将出现一个文字段从数据环境中拖到表单中,在表单中将出现一个文本框控件,该控件的本框控件,该控件的ControlSource属性将自动设置为属性将自动设置为BMDM.部门名称。在部门名称。在RSB的标题处按下鼠标拖到表单中,的标题处按下鼠标拖到表单中,将出现一个表格控件,该控件的将出现一个表格控件,该控件的RecordSourceType属属性自
47、动被设置为性自动被设置为1-别名,别名,RecordSource属性自动被设置属性自动被设置为:为:RSB。 在表单中添加一个命在表单中添加一个命令按钮组控件,并设令按钮组控件,并设置相应属性使其外观置相应属性使其外观如图如图8-20所示,注意所示,注意需将需将“上一条上一条”命令命令按钮的按钮的Enabled属性属性设置为设置为.F.。设置命令。设置命令按钮组的按钮组的Click事件的事件的代码为:代码为:IF This.Value=1 &如果用户单击了如果用户单击了“上一条上一条”命令按钮命令按钮SKIP -1 &让表指针向前跳一步让表指针向前跳一步ELSE &如果用户单击了如果用户单击了
48、“下一条下一条”命令按钮命令按钮SKIP &让表指针向后跳一步让表指针向后跳一步ENDIFDO CASECASE RECNO()=1 &如果表指针指向第一条记录如果表指针指向第一条记录 This.Command1.Enabled=.f. &设置设置“上一条上一条”命令按钮为不可命令按钮为不可用用CASE RECNO()=RECCOUNT() &如果表指针指向最后一条记录如果表指针指向最后一条记录 This.Command2.Enabled=.f. &设置设置“下一条下一条”命令按钮为不可命令按钮为不可用用OTHERWISE &如果表指针指向中间某条记录如果表指针指向中间某条记录 This.Co
49、mmand1.Enabled=.t. &设置设置“上一条上一条”命令按钮为可用命令按钮为可用 This.Command2.Enabled=.t. &设置设置“下一条下一条”命令按钮为可用命令按钮为可用ENDCASEThisform.Refresh &刷新表单的显示刷新表单的显示 最后以最后以fzbd.scx为文件名为文件名保存表单。然后执行表单,保存表单。然后执行表单,当用户单击下一条或上一当用户单击下一条或上一条时,对于文本框中显示条时,对于文本框中显示的一个父表的部门名称,的一个父表的部门名称,在子表中将列出所有属于在子表中将列出所有属于该部门的职工记录信息,该部门的职工记录信息,如图如图
50、8-21所示。这是由于所示。这是由于我们在两个表之间建立了我们在两个表之间建立了一对多的关系一对多的关系。2004-12-28制作者:王伟勤制作者:王伟勤21页框控件页框控件 页框是一个包含页面的容器对象,用户可在页框是一个包含页面的容器对象,用户可在页框中定义多个页面,以生成带选项卡的对页框中定义多个页面,以生成带选项卡的对话框。话框。 在表单中添加页框控件的步骤为:在表单中添加页框控件的步骤为:在表单控制工具栏中单页框控件按钮;在表单控制工具栏中单页框控件按钮;移动鼠标指针到表单中,单击并拖拽到合适的大移动鼠标指针到表单中,单击并拖拽到合适的大小;小;页框的常用属性有:页框的常用属性有:P
51、ageCount:设置页框中页面的个数。:设置页框中页面的个数。页面的常用属性有:页面的常用属性有:Caption:设置页面的名称。:设置页面的名称。 在页框中选择不同页面的步骤如下:在页框中选择不同页面的步骤如下:在页框中单击鼠标右键,选择编辑,则页框呈现在页框中单击鼠标右键,选择编辑,则页框呈现出选中状态,边框变粗;出选中状态,边框变粗;单击要选择的页面标签。单击要选择的页面标签。在页面中加入控件的步骤如下:在页面中加入控件的步骤如下:选中要加入控件的页面;选中要加入控件的页面;在表单控制工具栏中单击所需控件,移动鼠标到在表单控制工具栏中单击所需控件,移动鼠标到所选页面中,单击并拖拽到合适
52、大小。所选页面中,单击并拖拽到合适大小。 2004-12-28制作者:王伟勤制作者:王伟勤22例例8-7 建立一个建立一个 及及 所示含有两所示含有两个页面的增加及浏览人事数据的表单。个页面的增加及浏览人事数据的表单。 如图如图1图图2设计步骤如下:设计步骤如下:创建一个新表单,向新表单中添加一个页框控件,向表单添创建一个新表单,向新表单中添加一个页框控件,向表单添加数据环境,数据环保中添加加数据环境,数据环保中添加RSB.DBF和和BMDM.DBF两个两个表文件。注意:必需删除两表间的关系。表文件。注意:必需删除两表间的关系。打开打开RSBWH表单,选中所有控件,单击常用工具栏的【复表单,选
53、中所有控件,单击常用工具栏的【复制】按钮,在页框控件上单击鼠标右键,选择【编辑】菜单制】按钮,在页框控件上单击鼠标右键,选择【编辑】菜单项,单击常用工具栏的【粘贴】按钮,并调整控件到合适的项,单击常用工具栏的【粘贴】按钮,并调整控件到合适的位置,如图位置,如图1所示。并将所示。并将RSBWH表单的表单的Init事件的代码复制事件的代码复制到当前表单的到当前表单的Init事件中;将事件中;将RSBWH表单数据环境的表单数据环境的Opentables和和Closetables事件的代码复制到当前表单的相事件的代码复制到当前表单的相应事件中。应事件中。 将数据环境窗口显示出来,单击页框的第二个页面。
54、拖拽将数据环境窗口显示出来,单击页框的第二个页面。拖拽RSB表(鼠标指针指向表(鼠标指针指向RSB的标题行,然后单击并拖拽)到的标题行,然后单击并拖拽)到页框的第二个页面上,并调整表格到合适的位置,如图页框的第二个页面上,并调整表格到合适的位置,如图2所示。所示。添加添加Page1的的Click事件的代码为:事件的代码为:GO BOTTOM &确保回到页面确保回到页面1时表指针指向最后一条记录。时表指针指向最后一条记录。以以ykbd为文件名保存该表单,然后执行表单,将出现如图为文件名保存该表单,然后执行表单,将出现如图1所示的表单,在表单中单击第二个页面,将显示一个表格,所示的表单,在表单中单
55、击第二个页面,将显示一个表格,如图如图2所示。表格中列出表的记录。所示。表格中列出表的记录。 2004-12-28制作者:王伟勤制作者:王伟勤23超级连接超级连接 超级链接对象含有一个超级链接对象含有一个NavigateTo方法程序,方法程序,它允许用户指定一个网址,执行该方法程序它允许用户指定一个网址,执行该方法程序时时Visual FoxPro就会启动因特网浏览器,并就会启动因特网浏览器,并根据指定的网址进入网络的站点来显示网页。根据指定的网址进入网络的站点来显示网页。 2004-12-28制作者:王伟勤制作者:王伟勤24 在表单上添加超级链接在表单上添加超级链接控件和命令按钮控件各一个。
56、控件和命令按钮控件各一个。Commandl的的Caption属性设置为:属性设置为:搜狐搜狐Commandl的的Click事件代码编写如事件代码编写如下:下:Thisform.Hyperlinkl.NavigateTo(“http:/”) &Hyperlinkl为超级链接控件的为超级链接控件的Name,括号内为搜狐网站的网址,括号内为搜狐网站的网址保存表单并运行,表单名称为保存表单并运行,表单名称为“cjlj”。 例例8-8 在表单上创建一个命令按钮,要求表单运行时在表单上创建一个命令按钮,要求表单运行时单击该命令按钮即可显示搜狐网站的主页。单击该命令按钮即可显示搜狐网站的主页。 如图所示如图
57、所示2004-12-28制作者:王伟勤制作者:王伟勤25ActiveX控件控件 基本概念基本概念向表单添加控件或对象向表单添加控件或对象 “新建新建”选项按钮选项按钮 “由文件创建由文件创建”选项按钮选项按钮“创建控件创建控件”选项按钮选项按钮 向表单控件工具栏添加向表单控件工具栏添加AttiveX控件控件 添加步骤添加步骤 显示方法显示方法 删除方法删除方法 ActiveX原来是微软公司提出的一组技术标准,其中也原来是微软公司提出的一组技术标准,其中也包括控件的技术标准。所谓包括控件的技术标准。所谓ActiveX控件,就是指符合控件,就是指符合ActiveX标准的控件,其数量现已超过了标准的
58、控件,其数量现已超过了1000种,例如种,例如在在Windows的的SYSTEM文件夹中含有大量带文件夹中含有大量带.OCX扩展扩展名的文件,就都属于名的文件,就都属于ActiveX控件。在本章前几节介绍控件。在本章前几节介绍的控件,仅是的控件,仅是ActiveX控件中常见于控件中常见于Visual FoxPro界面界面的一小部分。的一小部分。为了使为了使Visual FoxPro能够在需要时利用更多的能够在需要时利用更多的ActiveX控件,在控件,在“表单控件表单控件”工具栏中设置了一个英文名为工具栏中设置了一个英文名为Olecontrol的的ActiveX控件按钮控件按钮“”“”。 从从
59、“表单控件表单控件”工具栏中选定工具栏中选定ActiveX控件按钮控件按钮“”“”,在表单中单击鼠标,屏幕上将弹出一个如图在表单中单击鼠标,屏幕上将弹出一个如图8-25所示的所示的“插入对象插入对象”对话框。该控件的功能主要由对话框中的对话框。该控件的功能主要由对话框中的3个选项按钮决定,【新建】与【由文件创建】选项按个选项按钮决定,【新建】与【由文件创建】选项按钮用于添加钮用于添加OLE对象,【创建控件】选项按钮则用于在对象,【创建控件】选项按钮则用于在表单中添加一个表单中添加一个ActiveX控件。控件。选定选定“新建新建”选项表示将在表单上新建一个对象,这种选项表示将在表单上新建一个对象
60、,这种对象是某种文件类型的文档。在插入对象对话框的对象对象是某种文件类型的文档。在插入对象对话框的对象类型列表中包含文档,图象、声音等多种文件类型,用类型列表中包含文档,图象、声音等多种文件类型,用户选定其中一项并按确定按钮后,户选定其中一项并按确定按钮后,Visual FoxPro将自将自动打开这种类型的应用程序,供用户输入文档的内容。动打开这种类型的应用程序,供用户输入文档的内容。对话框中有一个【显示为图标】复选框,可用来确定新对话框中有一个【显示为图标】复选框,可用来确定新建的对象以图标显示,还是直接显示文档的内容。若选建的对象以图标显示,还是直接显示文档的内容。若选定该复选框,该文档在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 冷藏车出租合同
- 2023年吉林省人才引进考试真题
- 管理制度样板引路制度
- 监理公司财务管理制度方案
- 2024BIM咨询服务合同
- 中航商业街招商策划执行方案
- 配筋梁课程设计
- 2024上海购房合同范本
- N-Nervonoyl-D-erythro-sphingosylphosphorylcholine-生命科学试剂-MCE
- 锅炉课程设计难不难学
- 山东省临沂市罗庄区2023-2024学年高二上学期期中考试语文试题(含答案解析)
- 财务管理的财务风险管理
- 中国计算机发展史
- 酒店前厅部沟通技巧
- 抗衰老功能性食品课件
- 太原公交公司管理招聘笔试试题
- 姨妈巾销售策划方案
- 稻虾混养可行性方案
- 视听节目制作
- JGT366-2012 外墙保温用锚栓
- 网球运动损伤与预防
评论
0/150
提交评论