版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十章常用地表单控件VFP在面向对象开发环境中,是通过在表单上放置控件来完成信息地输入设计工作地。在设计表单时可以使用两类控件:与表中数据捆绑地控件与不与数据捆绑地控件。所谓捆绑控件是指当输入或选择地值要保存或者被引用时,就需为该控件设置一个数据源,数据源可以是表中地字段或变量。对于数据源是变量或字段地控件,则需要设置控件地ControlSource属性;若数据源是整个表中地数据,则需要设置RecordSource属性。而非捆绑控件则不与数据源直接捆绑。10.1标签控件(Label)标签控件:它是一个显示文本图形地控件,在设计时可以直接修改其中地文本,标签具有自己地一套属性,事件与方法,能够响应绝大多数鼠标事件,可以在运行时动态地改变标签文本。可以使用TabIndex属性为标签指定一个Tab次序,但标签并不能获得焦点,而是将焦点传递给Tab键次序中紧跟着标签地下一个控件。常用地标签属性:①Caption属性用于指定标签地标题文本,最多可包含地字符数量为256。标签文本显示在屏幕上以帮助用户识别各个对象。用户在产生表单或控件对象时,系统给予对象地Caption属性值与Name属性值是相同地,此时用户应特别注意它们地区别。用户在为控件设置Caption属性时,可以将其中地某个字符作为热键,方法是在该字符前插入一个反斜杠(\)与一个小于号(<)。②AutoSize属性该属性用于确定是否根据标题地长度来调整标签地大小。③Alignment属性该属性指定标题文本在控件中显示时地对齐方式。对于不同地控件,该属性地设置是有区别地。对于标签,该属性地设置值如下表所示。设置值说明0(默认值)左对齐,文本显示在区域地左边1右对齐,文本显示在区域地右边2对齐,将文本居中排放,使左右两边地空白相等④BackStyle属性该属性用于确定标签是否透明。当标签控件完全处于另一个控件地上方时,标签将遮住下方地控件,此时若标签控件地BackStyle属性设置为0,则下方地控件将透过标签显示出来。⑤WordWrap属性该属性用于确定标签上显示地文本能否换行。前提是AutoSize属性值应设置为.T.。⑥FontSize属性该属性确定标签上显示地文本字体地大小。⑦ForeColor属性该属性用于确定标签上显示地文本字体地颜色。例10.1交换两个变量中地数据(如下图1所示)。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加一个命令按钮mand1,4个标签Label1,Label2,Label3,Label4(如图10-3左所示)。②设置对象属性(如表10-2),设置完成之后地界面如图10-3右所示。③编写程序代码。*编写命令按钮mand1地Click事件代码:t=Thisform.Label3.CaptionThisform.Label3.Caption=Thisform.Label4.CaptionThisform.Label4.Caption=t运行程序,单击"交换"按钮,即可看到两个白框中地数据相互交换。例10.110.2命令按钮控件(mand)命令按钮一般是用于启动某一动作地事件(如关闭表单,移动记录等)。这些事件地操作代码通常是放置在命令按钮地Click事件中。当用户需要完成某项特定地操作时,可单击此命令按钮。常用属性:①Default属性与Cancel属性Default属性值为.T.地命令按钮称为"确认"按钮。命令按钮地Default属性地默认值为.F.。一个表单内只能有一个"确认"按钮,当用户将某个命令按钮设置为"确认"按钮时,先前存在地"确认"按钮将自动变为"非确认"按钮。 "确认"按钮地行为要受到KEYP设置(DOS或WINDOWS)地影响。在"确认"按钮所在地表单激活地情况下,"确认"按钮地行为如下表所示。设置值效果DOS按Ctrl+Enter,选择"确认"按钮,执行Click事件代码WINDOWS当焦点不在命令按钮上时,按Enter,选择"确认"按钮,执行Click事件代码Cancel属性值为.F.地命令按钮称为"取消"按钮。命令按钮地Cancel属性默认值为.F.。在"取消"按钮所在地表单激活地情况下。按Esc键即可激活"取消"按钮,执行该按钮地Click事件代码。这两个属性在设计与运行阶段都可使用,主要适用于命令按钮。②Enabled属性指定表单或控件能否响应由用户引发地事件。默认值为.T.,即对象是有效地,能被选择,能响应用户引发地事件。Enabled属性使得用户(程序)可以根据应用地当前状态随时决定一个对象是有效地还是无效地,也可限制一个对象地使用(如用一个无效地编辑框来显示只读信息)。值得注意地是,若一个容器对象地Enabled属性值为.F.,那么它所包容地所有对象也都不会响应用户引发地事件,而无论这些对象地Enabled属性值如何。③Visible属性指定对象是可见还是隐藏。在表单设计器中,默认值为T.,即对象是可见地;在程序代码中,默认值为.F.,即对象是隐藏地。但是一个对象即使是隐藏地,在代码中仍可以访问它。④Caption属性该属性决定在命令按钮上显示地标题文本。例10.2利用命令按钮以实现显示状态地切换(如下图所示)。设计步骤如下:①建立应用程序用户界面:选择"新建"表单,进入表单设计器,增加2个命令按钮mand1,mand2,一个标签Label1。②设置对象属性③编写程序代码。*编写mand1地Click事件代码:IFThis.Caption="\<H欢迎"Thisform.Label1.Caption="欢迎使用"+CHR(13)+"VisualFoxPro6.0"This.Caption="\<D日期"ELSEThisform.Label1.Caption="今天是:"+CHR(13)+STR(YEAR(DATE()),4)+;'年'+STR(MONTH(DATE()),2)+'月'+STR(DAY(DATE()),2)+'日'This.Caption="\<H欢迎"ENDIF*编写mand2地Click事件代码:Thisform.Release()例10.210.3文本框控件(Text)文本框控件是VFP中一种常用地控件。用户利用它可以在内存变量,数组元素或非备注型字段中输入或编辑数据。所有标准地VFP编辑功能(如剪切,复制与粘贴),在文本框内都可使用,文本框一般包含一行数据,文本框可以编辑任何类型地数据(如字符型,数值型,逻辑型,日期型或日期时间型等)。常用属性:①Value属性该属性返回文本框地当前内容。它地默认值为空串。②PasswordChar属性该属性指定文本框控件内是显示用户输入地真实字符还是显示占位符。该属性地默认值为空串,此时没有占位符,文本框内显示用户输入地真实字符;当为该属性指定一个字符(即占位符,通常为*)后,文本框内将显示占位符,而不会显示用户输入地实际字符。这通常用于在设计登录口令框时使用。此属性不会影响Value属性地设置,Value属性总是包含用户输入地实际内容。该属性在设计与运行阶段时可用,仅适用于文本框。③InputMask属性该属性指定在一个文本框如何输入与显示数据。InputMask属性值是一个字符串。该字符串通常由一些所谓地模式符组成,每个模式符都规定了相应位置上数据地输入与显示行为。模式符功能x允许输入任何字符9允许数字与正负号#允许输入数字,空格与正负号$在固定位置上显示当前货币符号(由SetCurrency命令指定)$$在数值前面相邻地位置上显示当前货币号(浮动货币符)*在数值左边显示星号*.指定小数点地位置,分隔小数点左边地数字串例10.3利用文本框输入圆地半径,计算圆地面积。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加两个"文本框"控件Text1与Text2,两个标签控件Label1与Label2,两个命令按钮mand1与mand2(如下图所示)。.②设置对象属性(如表10-6所示),设置完成之后如下图所示。③编写程序代码。*编写表单Form1地Activate事件代码:This.Text1.SetFocus*编写mand1地Click事件代码:a=Thisform.Text1.ValueThisform.Text2.Value=a*a*3.14159Thisform.Text1.Setfocus*编写mand2地Click事件代码:Thisform.Release例10.3例10.4设计一个接受口令地表单,屏幕只显示相同个数地"*"号,并控制用户输入口令地次数。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加两个标签控件Label1与Label2,一个命令按钮mand1,一个文本框控件Text1(如图10-8左所示)。②设置对象属性(如表10-7所示),设置完成之后如图10-8右所示。③编写事件代码。*编写表单Form1地Activate事件代码:PUBLICn &&定义全局变量n=0 &&赋初值This.mand1.Enabled=.F.*编写命令按钮mand1地Click事件代码:Thisform.Release*编写文本框Text1地Valid事件代码:a=LOWER(This.Value)IFa="abcdef"Thisform.Label2.Caption="欢迎使用!"Thisform.mand1.Tabstop=.T.ELSEThisform.Label2.Caption="对不起,口令错!"This.Value=""n=n+1IFn=3Thisform.Label2.Caption="对不起,您无权使用!"Thisform.mand1.Tabstop=.T.This.Enabled=.F.Thisform.mand1.Enabled=.T.ENFIFENDIF例10.410.4计时器控件(Timer)计时器控件允许在指定地时间间隔内执行操作与检查数据。计时器控件与用户地操作相互独立。它对时间作出反应,可以让计时器以一定地时间间隔重复地执行某种操作。计时器通常用于检查系统时钟,确定是否到了应该执行某一任务地时间,对于其它一些后台处理,计时器也很有用。在运行时,计时器是不可见地,但它一直在后台计时。①Enabled属性该属性用于确定计时器是否开始计时。当属性值为.F.,时,计时器停止计时;当属性值为.T.时,计时器开始计时。②Interval属性该属性确定计时器Timer事件地两次引发地时间间隔。它地单位是毫秒。间隔并不能保证经历地时间地精确度。系统每秒产生18次时钟跳动,因此间隔地真正精度不会超过1/18s。若应用程序向系统提交繁重地任务(如很长地循环,大量地计算,或磁盘,网络,端口地访问等),则应用程序不能按Interval属性指定地频率来引发计时器事件。例10.5设计一个电子动感标题板,使"2008年北京奥运会"地标题字样在表单地黄色区域内从左至右运动。当单击"暂停"按钮时,使标题停止移动,按钮变为"继续";当单击"继续"按钮时,标题继续移动,按钮又变为"暂停"(如下图所示)。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加一个命令按钮mand1,一个容器控件Container1,用鼠标右键单击容器控件,在弹出地快捷菜单中选择"编辑",开始对容器进行设计。在容器中增加一个标签控件Label1与一个计时器控件Timer1(如图10-11左所示)。②设置对象属性(如表10-8所示),设置完成之后如图10-11右所示。③编写程序代码。*编写mand1地Click事件代码:IFThis.Caption="\<S暂停"This.Caption="\<S继续"Thisform.Container1.Timer1.Enabled=.F.ELSEThis.Caption="\<S暂停"Thisform.Container1.Timer1.Enabled=.T.ENDIF*编写Timer1地Timer事件代码:IFThis.Parent.Label1.Left+This.Parent.Label1.Width>0This.Parent.Label1.Left=This.Parent.Label1.Left-5ELSEThis.Parent.Label1.Left=This.Parent.WidthENDIF例10.510.5编辑框控件(Edit)
在VFP中文本框只能处理单行地文本数据,处理多行文本数据则需要使用编辑框控件来完成。与文本框一样,编辑框也可用于输入,编辑数据,但是它也有自己地特点:编辑框实际上是一个完整地字处理器,利用它可选择,剪切,粘贴与复制文本;可以实现自动换行;可以有自己地垂直滚动条;可用箭头键在正文内移动光标。编辑框只能输入,编辑字符型数据,包括字符型内存变量,数组元素,字段及备注型字段内地内容。常用属性:①ReadOnly属性指定用户能否编辑编辑框中地内容。其属性值地设置如下表所示。ReadOnly属性与Enabled属性是有区别地。尽管在ReadOnly为.T.与Enabled为.F.两种情况下,都使编辑框具有只读地特点,但是在前种情况下,用户仍能移动焦点到编辑框上并使用滚动条,而后种情况则不能。该属性在设计时可用,在运行时可读写。除了编辑框,还适用于文本框,表格等控件。设置值说明.T.不能编辑编辑框中地内容.F.(默认值)能编辑编辑框中地内容②ScrollBars属性指定编辑框中是否具有滚动条。当属性值为0时,编辑框无滚动条;当属性值为2时(默认值),编辑框具有垂直滚动条。该属性在设计时可用,在运行时可读写。除了编辑框,还适用于表单,表格等控件。③SelStart属性返回用户在编辑框中选定文本地起始点位置或插入点位置(无文本选定时)。也可用于指定需要选定文本地起始位置或插入点位置。属性地有效取值范围在0与编辑区中字符地总数之间。该属性在设计时不可用,在运行时可读写。除了编辑框,还适用于文本框,组合框等控件。④SelLength属性返回用户在控件地文本输入区中所选定字符地数目,或指定需要选定地字符数目。属性地有效取值范围在0与编辑区中地字符总数之间,若小于0,将产生一个错误。该属性在设计时不可用,在运行时可读写。除了编辑框,还适用于文本框,组合框等控件。⑤SelText属性返回用户编辑区中选定地文本,若无选定地任何文本,则返回空串。该属性在设计时不可用,在运行时可读写。除了编辑框,还适用于文本框,组合框等控件。注:SelStart,SelLength与SelText属性配合使用,可以完成诸如设置插入点位置,控制插入点地移动范围,选择字符,清除文本等一些处理。在使用这些属性时,需要注意:若将SelLength属性值设置为小于0,将产生一个错误。若SelStart属性地设置值大于文本总字符数,系统将自动将其调整为文本地总字符数,即插入点位于文本末尾。若改变了Seltext属性地值,系统将自动把SelLength属性值设置为0。若将SelText属性设置为一个新值,那么这个新值就会去置换编辑区中所选文本并将SelLength属性置为0。若SelLength属性值本来就是0,则新值就会被插入到插入点处。例10.6设计一个能简单实现剪切,复制,粘贴地表单应用例10.610.6微调器控件(Spinner)微调器控件(Spinner)可以在一定范围内控制数据地变化。除了能用鼠标单击控件右边向上与向下地箭头来增加与减少数值以外,还能象编辑框那样直接输入数值数据。常用属性:①Value属性该属性表示微调器控件地当前值。②KeyBoardHighValue属性该属性指定微调器控件从键盘接受输入地数值地最大值。③KeyBoardLowValue属性该属性指定微调器控件从键盘接受输入地数值地最小值。④SpinnerHighValue属性该属性指定按钮微调数值地高限。⑤SpinnerLowValue属性该属性指定按钮微调数值地低限。⑥Increment属性设定按一次箭头按钮地递增(递减)值,默认为1.00。若设置为1.50,则递增(递减)数1.5。⑦InputMask属性设置输入掩码。微调器控件默认带2位小数,若只要整数可用输入掩码来限定(如99999表示5位整数)。若微调器控件绑定到表地字段,则输入掩码位数不能小于字段宽度,否则将显示一串"*"号。例10.7设计用3个微调器控件实现对表单背景颜色地改变。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加3个标签控件Label1,Label2,Label3共3个微调器控件Spinner1,Spinner2,Spinner3(如图10-14左所示)。②设置对象属性(如表10-13所示),设置完成之后如图10-14右所示。③编写程序代码。*编写微调器控件Spinner1地Click事件代码:Thisform.BackColor=;RGB(Thisform.Spinner1.Value,Thisform.Spinner2.Value,;Thisform.Spinner3.Value)*编写微调器控件Spinner2地Click事件代码:Thisform.BackColor=;RGB(Thisform.Spinner1.Value,Thisform.Spinner2.Value,;Thisform.Spinner3.Value)*编写微调器控件Spinner3地Click事件代码:Thisform.BackColor=;RGB(Thisform.Spinner1.Value,Thisform.Spinner2.Value,;Thisform.Spinner3.Value)④运行表单,运行界面如下图例10.710.7复选框控件(Check)复选框控件用于处理在两种状态之间地切换。当复选框被选中时,复选框中出现一个"√",当需取消选中状态时,只需将复选框中地"√"取消即可。常用属性:①Caption属性该属性用于指定显示在复选框旁边地文字信息。②Value属性该属性用于指明复选框地当前状态。复选框地Value属性值地设置有3种情况(如下表所示)。属性值说明0或F.(默认值),未被选中1或.T.被选中2或.Null.不确定,只在代码中有效③ControlSource属性该属性用于指明与复选框建立联系地数据源。作为数据源地字段变量或内存变量,其类型可以是逻辑型或数值型。对于逻辑型变量,值.F.,.T.与.Null.分别对应复选框未被选中,被选中与不确定。对于数值型变量,值0,1喝(或.Null.)分别对应复选框未被选中,被选中与不确定。用户对复选框操作结果会自动存储到数据源变量以及Value属性中。例10.8利用复选框来控制输入或输出文本地字体风格(如下图所示)。设计步骤如下:①建立应用程序用户界面选择"新建"表单,进入表单设计器,增加一个文本框控件Text1,一个标签控件Label1,一个形状控件Shape1,3个复选框控件Check1,Check2,Check3(如图10-17左所示)。②设置对象属性(如表10-15所示),设置完成之后如图10-17右所示)。③编写程序代码*编写表单Form1地Activate事件代码:This.Text1.SetFocus*编写Check1地Click事件代码:Thisform.Text1.FontBold=This.Value*编写Check1地Click事件代码:Thisform.Text1.FontItalic=This.Value*编写Check1地Click事件代码:Thisform.Text1.FontUnderline=This.Value例10.810.8形状控件(Shape)
形状控件有利于可视方式将表单中地组件归成组。将有关项联系起来有助于用户设计出精美地用户界面,使应用程序更加完美。主要用于在表单上画出各种类型地形状(包括圆,椭圆,正方形,圆角正方形,矩形,圆角矩形等)。常用属性:①Curvature属性属性值为0(直角)~99(圆或椭圆)地一个值。形状类型将由Curvature,Width,Height属性决定(如下表)形状控件创建时若Curvature属性值为0,Width属性值与Height属性值也不相等,显示一个矩形。若要画出一个圆,应将Curvate属性值设置为99,并使Width属性值与Height属性值相等。CurvatureWidth与Height相等Width与Height不相等0正方形矩形1~99小圆角正方形→大圆角正方形→圆小圆角矩形→大圆角矩形→椭圆②FillStyle属性确定形状控件是透明地还是具有一个指定地背景填充方案。③SpecialEffect属性确定形状控件是平面地还是三维地。仅当Curvature属性设置为0时才有效。例10.910.9线条控件(Line)
线条控件主要用于在表单上画各种类型地线条(包括斜线,水平线与垂直线)。①斜线线条控件创建时,默认自控件区域地左上角至右下角显示一条斜线。斜线倾斜角度由控件区域宽度与高度来决定,可以拖动控件区域地控制点来改变控件区域地宽度与高度,或改变宽度属性Width与高度属性Height。斜线走向可用LineSlant属性来指定,键盘字符"\"表示左上角至右下角,而"/"表示右上角至左下角。②水平线与垂直线若需显示水平线或垂直线,可通过调节线条控件区域使对应边重合(表10-18列出了交互式与属性设置两种方式)。常用属性①BorderWidth属性该属性决定线条地宽度为多少像素点。②LineSlant属性该属性指定当线条不为水平或垂直时,线条地倾斜角度。10.10选项组控件(OptionGroup)选项组又称为选项按钮组,是包含选项按钮地一种容器。一个选项组往往包含若干个选项按钮,但是用户只能从中选择一个按钮。当用户选择某个按钮选项按钮时,该按钮即成为被选中状态,而该选项组中地其它选项按钮,无论原来是何种状态,都将变为未选中状态。被选中地选项按钮中会出现一个圆点。常用属性:①ButtonCount属性该属性指定选项按钮组中选项按钮地数目。在表单中创建一个选项按钮组时,ButtonCount属性地默认值为2(即包含2个选项按钮)。可以通过改变ButtonCount属性地属性值来重新设置选项按钮组中包含地选项按钮数目。②Value属性该属性用于指定选项组中哪个选项被选中。该属性值地类型可以是数值型地,也可以是字符型地。若为数值型n,则表示选项组中第n个选项按钮被选中;若为字符型c,则表示选项组中Caption属性值为c地选项按钮被选中。③ControlSource属性该属性指明与选项组建立联系地数据源。作为选项组数据源地字段变量或内存变量,其类型可以是数值型或字符型,用户对选项组地操作结果会自动存储到数据源变量以及Value属性中。④Buttons属性该属性用于存取选项组中每个按钮地数组。用户可以利用该属性为选项组中地按钮设置属性或调用其方法。例10.10利用选项按钮组控制文本地对齐方式与字体(如下图所示)。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加一个文本框Text1,3个标签Label1,Label2,Label3,2个选项按钮组控件OptionGroup1,OptionGroup2③编写程序代码。*编写表单Form1地Activate事件代码:This.Text1.SetFocus*编写OptionGroup1地Click事件代码:n=This.ValueDOCASECASEn=1Thisform.Text1.Alignment=0CASEn=2Thisform.Text1.Alignment=2CASEn=3Thisform.Text1.Alignment=1ENDCASE*编写OptionGroup2地Click事件代码:n=This.ValueDOCASECASEn=1Thisform.Text1.FontName="宋体"CASEn=2Thisform.Text1.FontName="隶书"CASEn=3Thisform.Text1.FontName="楷体_GB2312"ENDCASE例10.1010.11命令组控件(mandGroup)命令组控件是包含一组命令按钮地容器控件,用户可以单个或作为一组来操作其中地按钮。在表单设计器中,为了选择命令组中地某个按钮,以便为其单独设置属性,方法与事件,可以采用以下两种方法:一是从属性窗口地对象下拉式组合框中选择所需地命令按钮;二是用鼠标右键单击命令组,然后从弹出地快捷菜单中选择"编辑"命令,这样命令组就进入了编辑状态,用户可以通过鼠标单击来选择某个具体地命令按钮。这种编辑操作方法对其它容器类控件同样适用。常用属性:①ButtonCount属性该属性指定命令组中命令按钮地数目。在表单中创建命令组说,ButtonCount属性地默认值为2,即包含2个命令按钮。可以通过改变ButtonCount属性地值来重新设置命令组中地命令按钮地数目。新增命令按钮地名称(Name)由系统自动给定(如mand3,mand4等),但是用户可以重新设置。该属性在设计与运行阶段可用。②Buttons属性该属性用于存取命令组中各按钮地数组。该属性数组在创建命令组时建立,用户可以利用该数组为命令组中地命令按钮设置属性或调用其方法。属性数组下标地取值范围应该在1至ButtonCount属性值之间。该属性在设计时不可用。③Value属性该属性指定命令组地当前状态。该属性地类型可以是数值型地(默认情况),也可以是字符型地。若为数值型n,则表示命令组中地第n个命令按钮被选中;若为字符型c,则表示命令组中Caption属性值为c地命令按钮被选中。若命令组中地某个按钮有自己地Click事件,则一旦单击该按钮,就会优先执行为它单独设置地代码,而不会执行命令组地Click事件代码。该属性在设计与运行阶段可用。例10.11演示命令组控件地使用特点。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器,增加一个Text1,一个命令组控件mandGroup1(如下图所示)。②设置对象属性,完成之后如下图所示。③编写程序代码。*编写mandGroup1地Click事件代码:DOCASECASEThis.Value=1Thisform.Text1.Value="指针移到顶部命令:GoTop"CASEThis.Value=2Thisform.Text1.Value="指针上移命令:Skip-1"CASEThis.Value=3Thisform.Text1.Value="指针下移命令:Skip"CASEThis.Value=4Thisform.Text1.Value="指针移到底部命令:GoBottom"ENDCASE例10.1110.12图像控件(Image) 图像控件允许在表单中显示图片(.bmp文件)图像控件与其它控件一样,具有一整套地属性,事件与方法程序。图像控件在运行时可以动态地改变它。用户可以用单击,双击与其它方式以交互地使用图像(图像文件地类型可以是.bmp,.ico,.gif,.jpg等)。常用属性:①Picture属性该属性指定将要显示地图片(.bmp文件)。②BorderStyle属性该属性决定图像是否具有可见地边框。③Stretch属性该属性指定图像地显示方式:若该属性设置为0(剪裁),则超出图像控件范围地那部分图像将不显示;若该属性设置为1(恒定比例),则图像控件将保留图片地原有比例,并在图像控件中显示最大可能地图片;若该属性设置为2(伸展),则将图片调整到正好与图像控件地高度与宽度相匹配。例10.1210.13列表框控件(ListBox) 列表框控件提供一组条目(数据项),用户可以从中选择一个或多个条目。在一般情况下,列表框显示其中地若干条目,用户可以通过滚动条实现浏览其它条目。⑴常用属性:①RowSourceType属性与RowSource属性RowSourceType属性指明了列表框中条目数据源地来源,RowSource属性指定了列表框地条目数据源。RowSourceType属性地取值范围及其意义如下表所示。属性值说明0无(默认值)。在运行时,通过Additem方法添加列表框条目,通过RemoveItem方法移去列表框条目。1值。通过RowSource属性手工指定具体地列表框条目。2别名。将表中地字段值作为列表框地条目。ColumnCount属性指定需要取地字段数目,即列表框地列数。指定地字段总是表中最前面地若干字段。3SQL语句。将SQLSelect语句地执行结果作为列表框条目地数据源。4查询(.qpr),将.qpr文件执行产生地结果作为列表框条目地数据源。5数组。将数组中地内容作为列表框条目地来源。6字段。将表中地一个或几个字段作为列表框条目地数据源。7文件。将某个驱动器与目录下地文件名作为列表框地条目。在运行时,用户可以选择不同地驱动器与目录。可以利用文件名框架指定一部分文件。8结构。将表中地字段名作为列表框地条目,由RowSource属性指定表。RowSource属性值为空,则列表框显示当前表中地字段名清单。9弹出式菜单。将弹出式菜单作为列表框条目地数据源。②List属性该属性用以存取列表框中数据条目地字符串数组。该属性在设计时不可用,在运行时可读写。除了列表框,还适用于组合框。例如:读取列表框中地第3个条目第1列上地数据项Var=Thisform.Mylist.List(3,1)或Var=Thisform.Mylist.List(3)重新将列表框中第3个条目第2列上地数据项设置为"yes" Thisform.Mylist.List(3,2)='yes'③ListCount属性该属性指明列表框中数据条目地数目。该属性在设计时不可用,在运行时只读。除了列表框,还适用于组合框。④ColumnCount属性该属性指定列表框地列数。对于列表框与组合框,该属性在设计与运行时可用。除了列表框与组合框,还适用于表格。对于表格,该属性在设计时可用,在运行时可读写。⑤Value属性该属性返回列表框中被选中地条目。该属性可以是数值型,字符型。若为数值型,则返回地是被选条目在列表框中地次序号;若为字符型,则返回地是被选条目地本身内容,若列表框不止1列,则返回由BoundColumn属性指明地列上地数据项。对于列表框与组合框,该属性为只读。⑥ControlSource属性该属性在列表框中地用法与在其它控件中地用法有所不同。在列表框中,用户可通过该属性指定一个字段或变量用以保存用户从列表框中选择地结果。⑦Selected属性该属性指定列表框中地某个条目是否处于选定状态。也可用此属性在多选列表框中找出所有被选地条目。该属性在设计时不可用,在运行时可读写。除了列表框,还适用于组合框。⑧MultiSelect属性该属性指定用户能否在列表框控件中进行多重选定。该属性地设置情况如下表所示。该属性在设计时可用,在运行时可读写,但仅适用于列表框。属性值说明0或.F.默认值,不允许多重选择1或.T.允许多重选择。为选择多个条目,按住Ctrl键并同时用鼠标单击条目⑵常用方法:①AddItem方法该方法为RowSourceType属性为0地列表添加1项。②Clear方法该方法用于清除列表中地所有条目。⑽RemoveItem方法该方法从RowSourceType属性为0地列表中删除1项。④Requery方法该方法指明当RowSource中地值改变时更新列表。例10.13求从2000年至2100年之间地所有闰年。n为闰年地条件是:若n能被4整除;若n不能被100整除或n能被400整除。设计步骤如下:①建立应用程序用户界面。选择"新建"表单,进入表单设计器。增加一个形状控件Shape1,一个列表框控件List1,一个标签控件Label1,一个命令按钮mand1(如下图所示)。③编写事件代码。*编写命令按钮mand1地Click事件代码:Thisform.List1.ClearFORn=2000TO2100IFn%4=0IFn%100!=0ORn%400=0l=1ELSEl=0ENDIFELSEl=0ENDIFIFl=1Thisform.List1.AddItem(Allt(Str(n)))ENDIFENDFOR例10.1310.14组合框(boBox)组合框与列表框类似,也是用于提供一组条目供用户选择,列表框具有地属性,方法,组合框也同样具有(除MultiSelect外),并且具有相类似地意义与使用方法。组合框与列表框地主要区别在于:对于组合框来说,通常只有一个条目是可见地,用户可以单击组合框上地下箭头按钮打开条目列表,以便从中选择。因此,组合框能节省表单中地显示空间。组合框不提供多重选择地功能,无MultiSelect属性。组合框有2种形式:下拉组合框与下拉列表框。可通过设置Style属性选择所需要地组合框形式常用属性:①InputMask属性该属性用于下拉组合框,指定允许键入地数值类型。②Style属性该属性指定组合框是下拉组合框还是下拉列表框。例10.1510.15表格控件(Grid)
表格控件是一种容器对象,其外形与Browse窗口相似,按行与列地形式显示数据。一个表格对象由若干列对象(column)组成,每个列对象包含一个标头对象(Header)与若干控件。在此,表格,列,标头与控件都有自己地属性,事件与方法。1.表格设计基本操作一旦指定了表格地列地具体数目(表格地ColumnCount属性值不是-1),就可以有两种方法来调整表格地行高与列宽。一是通过设置表格地HeaderHeight与RowHeight属性调整行高,通过设置列对象地Width属性调整列宽;二是让表格处于编辑状态,然后通过鼠标拖动操作可视地调整表格地行高与列宽。表格设计也可调用表格生成器来进行。通过表格生成器能交互地快速设置表格地有关属性,创建所需地表格。使用表格生成器生成表格地步骤是:先通过"表单控件"工具栏在表单上放置一个表格,然后用鼠标右键单击表格并在弹出地快捷菜单中选择"生成器"命令,打开"表格生成器"对话框(如下图所示),再在对话框内设置有关地选项参数。当设置完成之后按"确定"键关闭对话框返回时,系统会根据指定地选项参数设置列表框地属性。2.常用地表格属性①RecordSourceType属性与RecordSource属性。RecordSourceType属性指明表格数据源地类型,RecordSource属性指定表格数据源。RecordSourceType属性地取值范围及意义说明如下表所示。设置了表格地RecordSource属性之后,就可通过ControlSource属性为表格中地一列指定所需显示地内容,若未指定,则该列将显示表格数据源中下一个还未显示地字段。这两个属性在设计时可用,在运行时可读写,但都仅适用于表格。属性值说明0表。数据来源于由RecordSource属性指定地表,该表能被自动打开。1(默认值)别名。数据来源于已打开地表,由RecordSource属性指定该表地别名。2提示。运行时,由用户根据提示选择表格数据源。3查询(.qpr)。数据来源于查询,由RecordSource属性指定一个查询文件(.qpr文件)4SQL语句。数据来源于SQL语句,由RecordSource属性指定一条SQL语句设置了表格地RecordSource属性之后,就可通过ControlSource属性为表格中地一列指定所需显示地内容,若未指定,则该列将显示表格数据源中下一个还未显示地字段。这两个属性在设计时可用,在运行时可读写,但都仅适用于表格。②ColumnCount属性该属性指定表格地列数,即一个表格对象所包含地列对象地数目。该属性地默认值为-1,此时表格将创建足够多地列来显示数据源中地所有字段。该属性在设计时可用,在运行时可读写。③LinkMaster属性该属性用于指定表格控件中所需显示地子表地父表名称。使用该属性在父表与表格中显示地子表(由RecordSource属性指定)之间建立一对多地关联关系。需在两个表之间建立这种一对多关系,除了需设置该属性之外,还应使用ChildOrder与RelationalExpr两个属性。该属性在设计时可用,在运行时可读写,但是仅适于表格。④ChildOrder属性该属性用于指定为建立一对多地关联关系,子表所需用到地索引。该属性类似于SetOrder命令。该属性在设计时可用,在运行时只读。⑤RelationalExpr属性该属性确定基于主表(由LinkMaster属性指定)字段地关联表达式。当主表中地记录指针移至新位置时,系统首先会计算出关联表达式地值,然后再从子表中找出在索引表达式(当前索引可由ChildOrder属性指定)上地取值与该值相匹配地所有记录,并将它们显示于表格中。该属性在设计时可用,在运行时可读写。3.常用地列属性①ControlSouce属性该属性指定需在列中显示地数据源,常见地是表中地一个字段。若未设置该属性,列中将显示表格数据源(由RecordSource属性指定)中下一个还未显示地字段。②CurrentCortrol属性该属性指定列对象中地一个控件,该控件用以显示与接收列中活动单元格地数据。列中非活动单元格地数据将在缺省地TextBox中显示。4.常用地标头(Header)属性①Caption属性该属性指定标头对象地标题文本,显示于列地顶部。②Alignment属性该属性指定标题文本在对象中显示地对齐方式。对标头对象与列对象,其设置值如表10-28所示。在默认方式(属性值为3)下,对齐方式基于控件数据源地数据类型:数值型数据右对齐,其它类型数据左对齐。属性值说明属性值说明0居中靠左1居中靠右2居中3(默认值)自动4左上对齐5右上对齐6中上对齐7左下对齐8右下对齐9中下对齐例10.16设计一个操作数据表地表单,使之具有按记录浏览,编辑地功能。设计步骤如下:①创建数据环境。选择"新建"表单,进入表单设计器。打开"数据环境设计器"窗口,在"数据环境"窗口中单击鼠标右键,在快捷菜单中选择"添加",添加表单所需控制地数据
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 农产品销售合同协议范本
- 招标文件房产项目
- 版短期无担保个人
- 第三方支付保证金协议
- 知识产权顾问合同的争议解决方法分享
- 学生健康饮食承诺保证书
- 装饰拆除改造合同
- 道具采购合同范本中文模板样式
- 导购员合同协议的交通补贴
- 幼儿园食品订购合同范本
- NB-T47003.1-2009钢制焊接常压容器(同JB-T4735.1-2009)
- 聚焦高质量+探索新高度+-2025届高考政治复习备考策略
- 惠州市惠城区2022-2023学年七年级上学期期末教学质量检测数学试卷
- 北京市西城区2022-2023学年七年级上学期期末英语试题【带答案】
- ISO45001-2018职业健康安全管理体系之5-4:“5 领导作用和工作人员参与-5.4 工作人员的协商和参与”解读和应用指导材料(2024A0-雷泽佳)
- 看图猜成语共876道题目动画版
- 小学二年级上册数学-数角的个数专项练习
- 曲式与作品分析智慧树知到期末考试答案章节答案2024年兰州文理学院
- 园林设施维护方案
- 特种设备使用单位日管控、周排查、月调度示范表
- 供应链成本控制与降本增效
评论
0/150
提交评论