《VFP第六章表单设计与方法.ppt》由会员分享,可在线阅读,更多相关《VFP第六章表单设计与方法.ppt(72页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第六章第六章 表单设计与应用表单设计与应用历年试题历年试题(1012分分)6.1.1对象与类对象与类历年试题历年试题(1分分)1.类:就是一个模板类:就是一个模板,是(?是(?)的集合)的集合 对象:由模板生成的一个实例。对象:由模板生成的一个实例。2.类可以派生。具有继承性、封装性、多态性、抽类可以派生。具有继承性、封装性、多态性、抽象象 性性A类类B类(继承类(继承A类的类的Windows Messenger属性和方属性和方法,还可以有自己独特的属性和方法)法,还可以有自己独特的属性和方法)C类(继承了类(继承了B类的属性和方法,同上)类的属性和方法,同上)由生成由生成一个对象一个对象D什
2、么是什么是属性属性?属性好比属性好比特征特征。人有什么特征。人有什么特征?身高,体重。身高,体重。什么是什么是方法方法?方法比喻成打游戏中,我们买武器,一把枪,方法比喻成打游戏中,我们买武器,一把枪,有很大用处,但是我不需要知道枪是怎么造出有很大用处,但是我不需要知道枪是怎么造出来了。会使用就行了。来了。会使用就行了。事件事件?事件就是?事件就是一个动作一个动作。比如说:鼠标单击,。比如说:鼠标单击,鼠标双击,鼠标右击,敲键盘。在鼠标双击,鼠标右击,敲键盘。在VFP中,每中,每个动作就是一个事件,有一个固定的名字。个动作就是一个事件,有一个固定的名字。Click是鼠标单击事件,是鼠标单击事件,
3、dblclick双击事件,双击事件,rightclick右击事件。当执行一个事件或者说触右击事件。当执行一个事件或者说触发一个事件的话,就是到到那个事件对应的名发一个事件的话,就是到到那个事件对应的名字里执行那里的代码。字里执行那里的代码。例:下列关于类的描述正确的是:例:下列关于类的描述正确的是:A.一个类包含了相似对象的特征和行为方法一个类包含了相似对象的特征和行为方法B.类是对象的集合,而对象是类的实例类是对象的集合,而对象是类的实例C.类可以按其定义的属性、事件、方法进行实际类可以按其定义的属性、事件、方法进行实际的行为操作。的行为操作。D.类并不实行任何操作,它仅仅表明该怎样做类并不
4、实行任何操作,它仅仅表明该怎样做例例:在下列选项中,描述对象的状态的是在下列选项中,描述对象的状态的是?A.属性属性 B.方法方法 C.类类 D.事件事件类是具有具共同属性、共同操作性质的对象的集合,是对象的抽象描述。它定义了关于对象的特征、外观和行为等。对象是它所属类中的一个具体实例,对象通过类产生。基类VFP本身提供的类,都是基类(表本身提供的类,都是基类(表1)了解了解。如:对于人来说,经过很多代繁衍,那么人类如:对于人来说,经过很多代繁衍,那么人类的基类是什么呢?就是第一代的人。的基类是什么呢?就是第一代的人。记住表记住表2.表表1:从下述:从下述 Visual FoxPro 基类中,
5、可以派生子类或创建对象基类中,可以派生子类或创建对象。容器容器命令组命令组控件控件微调微调标签标签表单表单命令按钮命令按钮复选框复选框OLE 容器容器控制控制线条线条表单集表单集选项组选项组列表框列表框OLE 绑定绑定型控制型控制分隔符分隔符#表格表格选项按钮选项按钮#文本框文本框自定义自定义形状形状标头标头#页框页框组合框组合框工具栏工具栏图象图象列列#页面页面#编辑框编辑框计时器计时器注:注:#这些类是父容器的集成部分,在类设计器中不能子类化。这些类是父容器的集成部分,在类设计器中不能子类化。表表2:基类属性的最小集合:基类属性的最小集合属性属性说明说明Class该类属于何种类型。Base
6、Class该类由何种基类派生而来,该类由何种基类派生而来,例如例如 Form、Commandbutton 或或 Custom 等等ClassLibrary该类从属于哪种类库。ParentClass对象所基于的类。若该类对象所基于的类。若该类直接由直接由 Visual FoxPro 基基类派生而来,则类派生而来,则 ParentClass 属性值与属性值与 BaseClass 属性值相同。属性值相同。举例如下:举例如下:A类类B类类C类类由生成一个对象由生成一个对象D 对于对于D来说,来说,它的它的baseclass就是:就是:A它的它的class:C它的它的parentclass:B容器与类容
7、器与类类分成两种类型:类分成两种类型:容器类和控件类容器类和控件类。相应。相应的对象也是两种:容器和控件。的对象也是两种:容器和控件。所谓的容器:它里面还可容纳其它控件。所谓的容器:它里面还可容纳其它控件。控件:里面不能再包含其它控件了。控件:里面不能再包含其它控件了。比如:表格,是容器类。它里面包含了其比如:表格,是容器类。它里面包含了其它如:文本框等。它如:文本框等。命令按钮组:里面包含命令按钮组:里面包含了按钮。记住表了按钮。记住表3.表表3容器类可以包含其他对象,并且允许访问这些对象。容器类可以包含其他对象,并且允许访问这些对象。每种容器类所能包含的对象如下。每种容器类所能包含的对象如
8、下。容器容器能包含的对象能包含的对象命令按钮组命令按钮组命令按钮命令按钮容器容器任意控件任意控件控件控件任意控件任意控件表单集表单集表单、工具栏表单、工具栏表单表单页框、任意控件、容器或自定义对象页框、任意控件、容器或自定义对象表格列表格列标头对象以及除表单、表单集、工具标头对象以及除表单、表单集、工具栏、计时器和其他列对象以外的任意栏、计时器和其他列对象以外的任意对象对象表格表格表格列表格列选项按钮组选项按钮组选项按钮选项按钮页框页框页面页面页面页面任意控件、容器和自定义对象任意控件、容器和自定义对象工具栏工具栏任意控件、页框和容器任意控件、页框和容器下表:对象引用的关键字。要记住了。要记住
9、含义。下表:对象引用的关键字。要记住了。要记住含义。可出填空或选择。可出填空或选择。属性或关键字属性或关键字引用引用ActiveControl当前活动表单中具有当前活动表单中具有焦点的控件焦点的控件ActiveForm当前活动表单当前活动表单ActivePage当前活动表单中的活当前活动表单中的活动页动页Parent该对象的直接容器该对象的直接容器THIS该对象该对象THISFORM包含该对象的表单包含该对象的表单THISFORMSET包含该对象的表单集包含该对象的表单集我们可以设置一个对象的属性值的。我们可以设置一个对象的属性值的。注意:如果编程改变一个对象的属性值的话,必注意:如果编程改变
10、一个对象的属性值的话,必须要用到表须要用到表4.例如在表单例如在表单form1里有两个控件,一个是文本框里有两个控件,一个是文本框text1,一个是按钮一个是按钮command1.按钮的按钮的click事件中代码功能:事件中代码功能:实现修改表单的标实现修改表单的标题为当前时间题为当前时间。如果是引用按钮自己的属性,就以如果是引用按钮自己的属性,就以this开头。否则开头。否则我们都是以我们都是以thisform开头,然后开头,然后层层引用层层引用。thisform.caption=time()&不能用不能用this,因为因为不是设置自己的不是设置自己的caption如果想以如果想以this开
11、头,引用到表单:开头,引用到表单:this.parent.caption=time()&两个命令等价两个命令等价1:从从this开始引用:开始引用:2:从:从thisform开始引用。开始引用。如果是在如果是在command1事件中编程,引用事件中编程,引用 form1:this.parent,引用自己,引用自己:this,引用,引用text1有两种形有两种形式:式:this.parent.text1&this指指command1本身,该代本身,该代码应在码应在command1对象中编写对象中编写或者:直接从最高点或者:直接从最高点form1往下引:往下引:thisform.text1&thi
12、sform指指form1表单表单form1text1command1方法,属性:方法,属性:可以新建可以新建。属性默认值为:属性默认值为:.F.事件:不可新建。事件:不可新建。记住表记住表6:VFP的常用事件分类的常用事件分类记住事件的发生记住事件的发生顺序顺序:Load(载入事件,比喻成怀孕的状态)载入事件,比喻成怀孕的状态)init(初始化事件,人降临人世)初始化事件,人降临人世)destroy(销毁事件,就好象人的器官坏销毁事件,就好象人的器官坏死,也就是表单中的控件先销毁)死,也就是表单中的控件先销毁)unload(卸载事件,销毁表单,也就是人卸载事件,销毁表单,也就是人的死亡)的死亡
13、)表6常用事件分类事件类型事件类型事件名称事件名称鼠标事件鼠标事件Click DblClick RightClick DropDown DownClick UpClick键盘事件键盘事件KeyPress改变控件内容的事件改变控件内容的事件InteractiveChange控件焦点的事件控件焦点的事件GotFocus LostFocus When,Valid 表单事件表单事件Load Unload Destroy Activate Resize Paint QueryUnload数据环境事件数据环境事件AfterCloseTable,BeforeOpenTable项目事件项目事件QueryMod
14、ifyFile 等等OLE 事件事件OLECompleteDrag 等等其他事件其他事件Timer Init Destroy Error 例1.在VFP中,基类的最小事件集包含的事件是?A.Load,Destory,ClickB.Load,Error,UnloadC.Init,Load,UnloadD.Init,Error,Destory例2.创建对象时发生事件?A.LoadB.InteractiveChangeC.InitD.Click名称名称调用语法调用语法功能功能AddObjectObject.AddObject(cName,cClass,)在运行时向容器对象中添在运行时向容器对象中添加
15、对象加对象ClearObject.Clear清除组合框或列表框控件清除组合框或列表框控件中的内容中的内容HideObject.Hide通过把通过把Visible属性设置为属性设置为.F.,来隐藏表单、表单集,来隐藏表单、表单集或工具栏或工具栏ShowObject.Show把把Visible属性设置为属性设置为.T.,显示并激活一个表单或表显示并激活一个表单或表单集,并确定表单的显示单集,并确定表单的显示模式模式RefreshObject.Refresh重画表单或控件,并刷新重画表单或控件,并刷新所有值所有值ReleaseObject.Release从内存中释放表单或表单从内存中释放表单或表单集
16、集QuitObject.Quit结束一个结束一个VFP6.0实例,返实例,返回到创建它的应用程序。回到创建它的应用程序。表表7:VFP中的常用方法中的常用方法不要求记。要会用不要求记。要会用6.5表单属性和方法表单的属性要表单的属性要记住记住。考试时候,很多时候。考试时候,很多时候不是要编程,而是直接修改表单属性值。不是要编程,而是直接修改表单属性值。修改一个对象的属性值?修改一个对象的属性值?第一步:选中这个对象。然后鼠标右键,第一步:选中这个对象。然后鼠标右键,选择选择“属性属性”,在出来的,在出来的“属性属性”窗口中,窗口中,找到这个属性,直接修改值即可。找到这个属性,直接修改值即可。也
17、可在属性面板中选择修改对象。也可在属性面板中选择修改对象。最常考的属性最常考的属性就是:就是:autocenter,borderstyle,caption,scrollbars,windowstate(表单的最小化,最大化,关闭)(表单的最小化,最大化,关闭),movable(控制表单是否可移动)(控制表单是否可移动)表单的显示、隐藏与关闭方法表单的显示、隐藏与关闭方法Show,hide,release是三个方法是三个方法。Thisform.release&关闭当前表单关闭当前表单Thisform.show&显示当前表单,该方法将显示当前表单,该方法将表单的表单的VISIBLE设置为设置为.t
18、.等价于:等价于:thisform.visible=.t.Thisform.hide&隐藏当前表单隐藏当前表单,与与show方方法相反,是把表单的法相反,是把表单的visible设置为设置为.f.等价于:等价于:thisform.visible=.f.Thisform.refresh(刷新表单,不重要)刷新表单,不重要)(将表单中的将表单中的text1控件得到焦点),什么叫得到控件得到焦点),什么叫得到焦点?最简单的得到焦点的方法就是用鼠标选焦点?最简单的得到焦点的方法就是用鼠标选择这个控件。择这个控件。6.5.3添加新的属性和方法添加新的属性和方法在在”表单表单“菜单进行添加操作(不是重点)
19、菜单进行添加操作(不是重点)6.6节基本型控件节基本型控件(最重要的:掌握每个控件属(最重要的:掌握每个控件属性)性)第六章考题中除了编程的部分外,大部分考属性第六章考题中除了编程的部分外,大部分考属性的设置。的设置。.标签:标签:caption:标题。标题。Alignment:文本对齐文本对齐方式。对于属性值不用记忆。在上机时,选中每方式。对于属性值不用记忆。在上机时,选中每一个属性,下面都出现对该属性的解释。一个属性,下面都出现对该属性的解释。thisform.mylabel.caption=“选择项目选择项目(x)”访问键的设置:访问键的设置:alt+x设置当前表单中标签设置当前表单中标
20、签mylabel标题为标题为“选择项目选择项目“命令按钮命令按钮:default,enabled,visibleDeafault:设置为设置为.t.那么按下键盘上的那么按下键盘上的回车键回车键鼠标单击该按钮鼠标单击该按钮 也就是执行这个命令按钮对象的也就是执行这个命令按钮对象的click里的代码里的代码.Enabled:设置为设置为.f.。表示废止一个控件表示废止一个控件,且,且该控件得不到该控件得不到焦点焦点。设置设置.T.就是就是不废止不废止。Thisform.text1.enabled=.f.&废止了表单中废止了表单中的的TEXT1控件控件 VISIBLE:.T.,可以看到这个控件。可以
21、看到这个控件。.f.,看不到这个控件了看不到这个控件了文本框文本框textbox1.controlsource:可以让文本框显示一个字段值。可以让文本框显示一个字段值。前提是要把表添加到表单的前提是要把表添加到表单的“数据环境数据环境”中去。中去。如果是编程设置的话:如果是编程设置的话:Thisform.text1.controlsource=“xs.xh”&让让text1里显示里显示xs.xh字段值。字段值。2.value:表示文本框当前的值表示文本框当前的值thisform.caption=thisform.text1.value&将表单的标题设置为文本框中的值将表单的标题设置为文本框中的
22、值.Passwordchar:设置密码框用的。比如把设置密码框用的。比如把passwordchar设置成设置成*.那么,在文本框中输入那么,在文本框中输入的任何值都用的任何值都用*显示显示.可用程序来实现:可用程序来实现:thisform.text1.passwordchar=“*”编辑框:编辑框:.HideSelection:设:设 为为.t.,在编辑框没有获得,在编辑框没有获得焦点时,编辑框中选定的文本仍然按选定状态显焦点时,编辑框中选定的文本仍然按选定状态显示。示。2.Readonly:设为设为.t.,只读但是可得到焦点只读但是可得到焦点 enabled:设为设为.f.,只读但不可得到焦
23、点。只读但不可得到焦点。.scrollbars:指定是否有滚动条。指定是否有滚动条。.Selstart,sellength只能编程修改,不能在属性中直接只能编程修改,不能在属性中直接修改。修改。比如说:比如说:thisform.edit1.selstart=0 thisform.edit1.sellength=len(alltrim(thisform.edit1.value)执行这两条命令:就会把编辑框中,从执行这两条命令:就会把编辑框中,从selstart开始的位开始的位置置(从从0开始开始),一直到,一直到sellength(所有字符都被选中)指所有字符都被选中)指定的长度,作为选择的文本
24、范围。(图定的长度,作为选择的文本范围。(图6.17)。比如说编。比如说编辑框中值是辑框中值是“abcde”,那么那么abced就被全选中。就被全选中。再比如:编辑框中值是再比如:编辑框中值是“abdef”,如果:如果:thisform.edit1.selstart=2 thisform.edit1.sellength=3.那么是哪几个字符被选中呢?那么是哪几个字符被选中呢?注意注意是从是从的后一个字符开始,连续三个字符被全选的后一个字符开始,连续三个字符被全选中。因此是中。因此是“def”被全选中。被全选中。如果如果seltstart设为设为,sellength设为设为3?那么选中的字符是那
25、么选中的字符是“abd”.6.6.5复选框复选框.Caption:标题标题2.controlsource:与字段绑定。可与数值与字段绑定。可与数值型字段绑定,也可与逻辑型字段绑定。型字段绑定,也可与逻辑型字段绑定。数值型绑定:,分别对应复选框数值型绑定:,分别对应复选框未被选中,选择,不确定。未被选中,选择,不确定。逻辑型绑定:逻辑型绑定:.f.,.t.,.null.对应复选框对应复选框为未被选中,选择,不确定为未被选中,选择,不确定6.6.6列表框和组合框列表框和组合框这两个控件很多属性是一样的。这两个控件很多属性是一样的。不一样地不一样地方:组合框有一个方:组合框有一个style属性属性(
26、下拉组合框、下拉组合框、下拉列表框下拉列表框),列表框没有,列表框没有1.rowsource和和rowsourcetype(很重要)很重要)两个是成对使用的。搭配起来使用。两个是成对使用的。搭配起来使用。()()rowsourcetype:设置为设置为-别名别名rowsource:可选择一个表。可选择一个表。效果:列表框中显示表里的记录效果:列表框中显示表里的记录(2)rowsourcetype:设置为设置为3-SQL语句语句rowsource:可打一个可打一个SQL语句。语句。比如可在比如可在rowsource:select*from xs into cursor zz 效果:把那句效果:把
27、那句SQL语句执行结果放到列表框中语句执行结果放到列表框中还可用命令来设置:还可用命令来设置:thisform.list1.rowsourcetype=3 thisform.list1.rowsource=“select*from xs into cursor zz”&list1是列表框的名字是列表框的名字.(3)rowsourcetype:6-字段字段 rowsource可选择一个字段可选择一个字段也可编程设置:也可编程设置:thisform.list1.rowsourcetype=6 thisform.list1.rowsource=“xs.xh”(4)rowsourcetype:7-文件
28、文件 rowsource:可设置为一种文件类型可设置为一种文件类型编程:编程:thisform.list1.rowsourcetype=7 thisform.list1.rowsource=“*.doc”可在列表框中查找所有路径下的可在列表框中查找所有路径下的doc文件文件(5)rowsourcetype:8-结构结构rowsource:选择一个表名选择一个表名.效果:在列表框中显示这个表的结构,效果:在列表框中显示这个表的结构,就是这个表的所有字段名显示出来。就是这个表的所有字段名显示出来。也可编程设置:也可编程设置:thisform.list1.rowsourcetype=8thisfor
29、m.list1.rowsource”xs”Columncount:设置列表框的列数。设置列表框的列数。CONTROLSOURCE:是与一个字段绑定,显示是与一个字段绑定,显示这个字段值。这个字段值。Value:当你选择列表框中一行时,当你选择列表框中一行时,value里就是里就是这行的内容。这行的内容。Multiselect:1或者或者.t.即可同时选中列表框中即可同时选中列表框中的多行的多行。List属性:只能编程改写。不能直接设置。属性:只能编程改写。不能直接设置。Thisform.list1.list(3)&得到列表框中第三行的值得到列表框中第三行的值Listcount:总行总行 数。数
30、。Selected:如:如:thisform.list1.select(3)返回为返回为.t.说明,第三行当前被选择了。说明,第三行当前被选择了。6.7容器型控件容器型控件.命令按钮组命令按钮组Buttoncount:设置有几个按钮设置有几个按钮.对于命令按钮组中的每一个按钮有一个对于命令按钮组中的每一个按钮有一个caption属性:修改属性:修改caption属性,有两种属性,有两种方法:直接修改方法:直接修改.选中选中“命令按钮组命令按钮组”这个对象这个对象右键单击右键单击选择选择“编辑编辑”可可以选中任一个按钮,在属性窗口中修改以选中任一个按钮,在属性窗口中修改caption属性属性.:
31、编程修改:编程修改(使用使用buttons属性属性).Thisform.buttongroup.buttons(2).caption=“退出退出”注意:注意:buttongroup是命令按钮组的名称,是命令按钮组的名称,buttons是个按钮组的数组属性,是个按钮组的数组属性,buttons(1),buttons(2)分别指命令按钮组分别指命令按钮组中的第一个按钮,第二个按钮中的第一个按钮,第二个按钮.3.valueValue的值表示当前选中第几个按钮了的值表示当前选中第几个按钮了.比比如:如:value=1,表明正在使用第一个按钮,表明正在使用第一个按钮,value=2,正在使用第二个按钮,
32、正在使用第二个按钮.2.选项按钮组选项按钮组1.buttoncount,2 buttons,value同同命令按钮组用法命令按钮组用法4.controlsource:可以绑定表中一个可以绑定表中一个字段,显示这个字段的值字段,显示这个字段的值.注意:要先把表加入数据环境中,然注意:要先把表加入数据环境中,然后才能使用后才能使用controsource选择一个字选择一个字段段.表格表格1.recordsource和和recordsourcetype,用法同列用法同列表框的表框的rowsourcetype,rowsource.但是这里但是这里recordsourcetype只要掌握只要掌握0表,表
33、,1别名,别名,4sql.其中其中0表,和表,和1别名是一样的功能。就是把一别名是一样的功能。就是把一个表记录显示在表格中。个表记录显示在表格中。2.columncount:设为设为.表示表格有列表示表格有列.每个列有每个列有controlsource属性,同样也是绑定属性,同样也是绑定一个字段一个字段.如何设置?如何设置?第一步,将表添加到数据环境第一步,将表添加到数据环境.第二步,选中表格对象(注意表格已经设置第二步,选中表格对象(注意表格已经设置列)列)右键单击右键单击选择选择“编辑编辑”选择一个列,选择一个列,设置设置controlsource属性属性.页框页框pageframe1:p
34、agecount:3表示有三个页面表示有三个页面 每个页面可修改每个页面可修改caption属性属性.先选中页框对象先选中页框对象右键单击右键单击选择选择“编辑编辑”修改任意一个标头修改任意一个标头.:pages属性:用法同按钮组的属性:用法同按钮组的buttons.Thisform.pageframe1.pages(2).caption=学生学生注意:注意:pageframe1是页框的名字,是页框的名字,pages(2)表示页框的第二个页面表示页框的第二个页面.3:tabs设为设为.f.,页框中不显示页面,页框中不显示页面:activepage:当前哪个页面在活动当前哪个页面在活动 例如把例
35、如把activepage设为设为,那么运行的时候,那么运行的时候,首先显示第二个页面首先显示第二个页面.另外,如果不知道当前哪个页面在活动,可另外,如果不知道当前哪个页面在活动,可取取activepage里的值,如果值等于说明里的值,如果值等于说明当前第一个页面在活动当前第一个页面在活动.本章总结本章总结.第六章最重要的就是各个控件的属性设置第六章最重要的就是各个控件的属性设置.方法四个:方法四个:thisform.release3.引用中的:引用中的:this,thisform,parent的含义要搞清的含义要搞清楚楚.只有会引用对象了,才能谈到编程只有会引用对象了,才能谈到编程.事件:事件
36、:loadinitdestroyunload的触发的触发顺序顺序.什么是基类了解一下,基类的最小属性集:什么是基类了解一下,基类的最小属性集:class,parentclass,baseclass,libraryclass.基类的三个最小事件要知道:基类的三个最小事件要知道:init,destroy,error.6.关于类与对象要理解,一个是关于类与对象要理解,一个是模板模板,一,一个是基于模板生成的个是基于模板生成的实例实例.容器类容器类与与控件类控件类要能区分,还要能区分,还包括包括了其它控件就是容器类,了其它控件就是容器类,不包伙不包伙其它控件了就是控件类其它控件了就是控件类.7.表单编
37、程中最常编的就是在按钮的表单编程中最常编的就是在按钮的click事件中编写关于事件中编写关于SQL的语句的语句.另外,有一部另外,有一部分分SQL语句是设置在表格的语句是设置在表格的recordsource,列表框的,列表框的rowsource属性里的,要会设属性里的,要会设.最常用的模板有:最常用的模板有:Thisform.grid1.recordsource=“select.from.where 字段值字段值=x”2005春VFP中进行菜单设计时,菜单有两种,即一般菜单和快捷菜单。在事件代码中相对引用当前表单集的关键字是_Thisformset_。3对于许多控件来说,可以通过Control
38、Source属性与数据绑定。在下列VFP对象中,无ControlSource属性的是_。(2005春)标签(Label)复选框(CheckBox)选项按钮组(OptionGroup)列表框(ListBox)4.图1所示的表单用于浏览教师(JS)信息。为了在表格控件中以不同的背景色显示男、女教师的信息,则在表格控件的Init事件代码中,可使用如下形式的语句:This._Setall_(DynamicBackcolor,IIF(xb=女,;RGB(125,125,125),RGB(125,125,125),Column)Setall(“属性名属性名”,值,值,“控件名称控件名称”)5.表单中下拉列
39、表框的RowSourceType属性为“6-字段”,数据源为系名代码表数据源为系名代码表(表的文件名为(表的文件名为 xmdm.dbf,含系代码(含系代码(xdm)和系名()和系名(xim)两个字段),)两个字段),为了使下拉列表中显示系代码和系名两列数据,则RowSource属性值为:xmdm.xdm,_xim_。6设某表单上有一个页框控件,该页框控件的PageCount属性值在表单的运行过程中可变(即页数会变化)。如果要求在表单刷新时总是指定页框的最后一个页面为活动页面,则可在页框控件的Refresh事件代码中使用语句:This.ActivePage=PageCount。(2005春)7某
40、数据库中包含课程(KC)表和成绩(CJ)表,课程表中含有课程代号(kcdh)、课程名(kcm)和学分(xf)等字段,成绩表中含有学号(xh)、课程代号(kcdh)和成绩(cj)等字段。已创建一个按课程代号查询学生成绩的表单如图2所示。(2005春)表单中下拉列表框(Combo1)的数据源设置如下:RowSourceType属性为:6-字段RowSource属性为:kc.kcdh。在下拉列表框中选择某一课程代号后,表格控件(Grid1)立即显示该课程所有学生的成绩,且在文本框(Text1)中显示该课程的课程名,则应在下拉列表框的_InteractiveChange_事件中编写如下代码:SELEC
41、TKCThisForm.Text1.Value=kc.kcmThisForm.Grid1.RecordSource=;SELECTcj.xh,cj.cjFROMcjWHEREcj.kcdh=ALLT(THIS.Vale)INTOCURStmpThisForm.Refresh根据以上代码可判定,表格控件(Grid1)的RecordSourceType属性为_3或SQL_。2005秋秋1.表格(gird)控件是一个按行和列显示数据的容器对象,其外观与表的浏览窗口相似,表格最常见的用途之一是显示一对多关系中的的子表。在默认情况下,表格控件包含列控件,列空件又包含列标头控件和文本框控件。2005秋秋3
42、.数据绑定型控件是指其(显示的)内容与表、视图或查询中的字段(或内存变量)相关联的控件。若某个控件被绑定到一个表的字段,移动该表的记录指针后,如果该字段的值发生变化,则该控件的_30_属性值也随之发生变化。2005秋秋A.NameB.ControlSourceC.ValueD.Caption4学生注册表单(forml)如图1所示,该表单中含有3个标签、2个文本框(Text1和Text2),1个命令按钮组(包含3个按钮),其功能是对学生信息进行注册:2005秋秋1)如在学生注册(ZC)表中已存在某学生的记录(学号已经存在),说明该学生已注册过;若没有,则进行注册,即将该学生信息存入学生注册表;2
43、)进行注册时(即按“确认”按钮时),学生和姓名不能为空。图1学生注册表单表单是一个容器型控件,其集合属性为Controls,计数属性为ControlCount。此表单的ControlCount属性值为6。表单中的表单中的控件数目控件数目5设Labell是某表单上的一个标签控件,则利用Labell控件显示系统日期和时间,可以在该表单的Init事件代码中使用语句THISFORM._Label1.Caption_=TTOC(DATETIME()来实现。2005秋秋2006年春1下列关于表单数据环境的叙述中,错误的是(30)(2006年春)表单运行时自动打开其数据环境中的表数据环境是表单的容器可以在数
44、据环境中建立表之间的关系可以在数据环境中加入视图2006年春2.页框对象是包含页面的容器对象在默认情况下,一个页框对象包含两个页面对象,如果要修改页框对象所包含的页面对象数,则应该修改页框的pagecount属性值(2006年春)3.在下列几组VFP基类中,均具有ControlSource属性的是(29)(2006年春)ListBox,Lable,OptionButtonComboBox,EditBox,GridComboBox,Grid,TimerEditBox,CheckBox,OptionButton4.在VFP中,组合框控件具有列表框控件和和文本框控件的组合功能根据是否可以输入数据值,
45、组合框可设置为下拉组合框或下拉列表框(2006年春)5.某表单如图所示,用于用户登录(需要输入用户名和口令信息)该表单无控制图标和控制按钮,则表单的Controlbox属性值必定为.F.。(2006年春)图1用户登录表单6.对于图所示的表单,当表单运行时,利用微调框(Spinner)来调节形状控件(Shape)的Curvature属性值,使形状控件的角的曲率发生变化该表单上的标签控件显示为曲率(),其Caption属性值应为曲率(R)为了实现表单中微调框控件的值发生变化时形状控件的角的曲率也随之变化的功能,微调框控件(Spinner1)的Interactivechange事件代码为:(2006
46、年春)THISForM.Shape1.Curvature=THIS.Value图2形状控件的曲率实验2006秋1在默认的情况下利用表单设计器设计表单时,若从数据环境里将某个表的一个逻辑型字段用鼠标拖放到表单上,则在表单上添加的控件个数和控件类型分别是。(2006秋)A2,标签和文本框B2,标签和复选框C1,文本框D1,复选框2所有的容器对象都具有与之相关的计数属性和集合属性。其中,前者是一个数值型属性,它表明了所包含对象的数目;后者是一个数组,用以引用每个包含在其中的对象。3利用ShowWindows属性和DeskTop属性,可以将表单设置为顶层表单、浮动表单和子表单。2007年秋1对于表单的
47、Load、Activate和Init这三个事件来说,Load事件的处理代码中不能引用表单中的对象,Activate事件最后一个被触发。4在下列几组控件中,均有SetAll()方法的是。A)表单(Form)、命令按钮(CommandButton)、命令按钮组(CommandGroup)B)表单集(FormSet)、列(Column)、组合框(ComboBox)C)表格(Grid)、列(Column)、文本框(TextBox)D)表单(Form)、页框(PageFrame)、命令按钮组(CommandGroup)5形状控件(Shape)的Curvature属性用于控制其曲率,其取值范围为099。2
48、008年春1.对表单中的一个文本框控件来说,下列事件中最后发生的事件是(27)。2008年春A.ValidB.InitC.DestroyD.Lostfocus2.将表单中的所有文本框的Enabled属性设置为假,可在表单的Init事件处理代码中用SetAll方法进行设置。下列表述中,命令正确的是(28)。A.THISFORM.SetAll(Enabled,.F.,Text)B.THISFORM.SetAll(Enabled,.F.,Text)C.THISFORM.SetAll(Enabled,.F.,Textbox)D.THISFORM.SetAll(Enabled,.F.)3.在下列几种控件
49、中,无Value属性的是(29)。2008年春A.命令按钮(Command)B.选项按钮(OptionButton)C.复选框(CheckBox)D.编辑框(EditBox)2008年春填空题第13题7个空2010秋如果文本框中只能输入数字和正负号,需要设置文本框的_属性Inputmask16.某表单(运行时如下图所示)的数据环境中有一个ZY(专业)表,该表有27条记录;表单上有3个文本框分别与专业表的专业代号、专业名称、学制字段绑定,另有一文本框(text1)用来显示物理记录号;表单上有一个计时器控件,其Interval属性值为1000,Timer事件代码如下:IFEOF()GOTOTOPE
50、LSESKIPENDIFTHISFORM.Text1.Value=RECNO()THISFORM.Refresh若该表单最大化按钮不可用,最小化按钮和关闭按钮可用,则表单属性值MaxButton为.F.;若文本框text1不能响应用户引发的事件,则其属性值Enabled为.F.;当ZY表的记录指针位于记录结束标记处(即EOF()为.T.)时,文本框text1的Value属性值是28。17.根据Style属性的设置,组合框(ComboBox)可以分为:下拉组合框(当Style属性值为0)和下拉列表框(当Style属性值为2时)。它们的区别在于:前者既可以输入数据、也可以在下拉列表中选择一个数据,