按“开始”按钮,所以焦点应在“开始”按钮上(这样按回车键也可以按下“开始”按钮),因此我们应该在整个表单启动的时候将焦点设到此按钮上。
当我们启动一个表单的时候,该表单的“激活”事件(activate)就会发生,但由于一般情况下这一事件中没有编入代码,所以即使发生我们也感觉不出来。那么现在我们就要借用这个事件再去调用setfocus方法,便可达到我们目的。具体做法是这样:
打开xy7项目管理器,找到xy7表单,按“编辑”进入表单设计器,调出属性窗口,看一下窗口上面的对象选择窗中是否是“form1”,如图1,如不是则选择到“form1”。
选择“方法程序”(“全部”也行),在第一行找到“activate event”事件,如图2,
双击此事件进入程序编辑窗口,输入下面代码: thisform.command1.setfocus
意思是“本表单.command1对象.设置焦点”,command1即是“开始”按钮的名称。
输入完程序后,存盘、退出。这样一旦软件开始运行,表单被启动-该表单的“激活”事件发生-其中的程序开始执行-将焦点设到command1即开始按钮,焦点设在上面后会看到有一个虚线框住按钮标题,这时text1中就没有光标在闪动了。 还不赶快试一下!
第四课 常用的对象、属性、事件、方法
本课介绍一些常用的对象及其属性、事件、方法,掌握了这些知识以后,便可编一些简单实用的软件了。
对象(object):
表单(form) 【用于放置其它对象(其它的对象也常常叫做“控件”)的界面,或叫窗口。】
16
按钮(commandbutton) 【也叫“命令按钮”。专门用于起动一个事件去操作一个动作,比如关闭一个表单、将光标移到另一个记录、打印一份报告等等。用“标题”属性可指定按钮表面显示的文字,以便辨别该按钮是用作什么用途的。您可以用鼠标单击来选择一个按钮,并激活其单击事件以执行一个动作,至于具体执行什么动作,取决您为单击事件编了什么样的程序。】
标签(label)
【标签是一个图形控件,用于显示文本信息,显示的信息在程序运行时不能直接修改。一个标签最多可容纳256字符。】
文本框(text)
【用于显示和编辑一个变量或者一个字段的值。所有Visual FoxPro标准的编辑功能,比如剪切、复制、粘贴,都可用于文本框。
假如文本框编辑的是日期或日期时间格式的值,当整个值被选择后,您可以按“+”或“-”来增加或减少天数。】
表格(grid)
【表格是一种容器型对象,所谓容器型对象是指在此对象中还可有别的对象,表单也是容器型对象。
表格用于按行和列显示数据,就类似于在浏览(Browse)窗口中所看到的,在其中包含有若干列对象,而每个列对象又包含列标题和文本框
对象,这里的每个对象都有它们自己的属性、事件、方法。】
属性(property):
标题(caption)
【指定对象标题所显示的文本,主要用于指示该对象的用途。 在程序设计和运行时都可更改。 语法:
对象.Caption=cText 设置
其中的cText即为对象标题设置的文本。
备注:
标题属性对于不同的对象其显示是不同的: 表单:标题显示在表单的标题栏中,如图1。
17
当表单缩到最小,标题文本显示在该表单图标的旁边,如图2。
其它控件:有的标题显示在控件上面,有的显示在其旁边。
当您创建一个新的表单或控件,它的隐含标题与它的隐含名称属性是一样,但实际上是两回事,当您要指定一个对象时您必须用它的名称,而不能用它的标题。比如您要在一个表单上创建一个退出按钮,如果它是在表单上创建的第二个按钮,那么它的隐含标题很可能是command2,名称也是同样的,当然您很可能马上会将其标题改为“退出”,但其名称仍是command2,如您要在程序中调用这个按钮,必须用它的名称来指定调用的是那个对象,例如:要用程序把焦点放在这按钮上,程序应这样写: command2.setfocus 而不能写成: 退出.setfocus】
左起始位(left)
【设定对象的左边起始位置。
也就是该对象的左边界与容纳该对象的容器的左边界的距离,比如一个表单中的按钮,表单就是按钮的容器,按钮左边界与表单左边界的距 离就是按钮的左起始位置。 在程序设计和运行时都可更改。
一个表单的隐含容器为VFP主窗口。 语法:
对象.Left=nDist
18
其中的nDist为代表左边界的数值,使用时用一具体数值代入。 备注:
一般不需要在程序中用以上语句来设置对象的左边界,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其左边界就设好了。当我 们用鼠标改变其位置时,其左边界也会相应变化。
当然如果我们要在程序运行的过程中,改变某对象的左边界,以达到改变对象位置的目的,就可用到上面的语句了。 例如:
我们要在程序中把按钮command1的左边界设为10,实现的语句为: command1.left=10
此语句一旦运行,command1按钮就会移动到其左边界为10的地方。】
上起始位(top)
【设定对象的上边起始位置。
也就是该对象的上边界与容纳该对象的容器的上边界的距离,比如一个表单中的按钮,表单就是按钮的容器,按钮左边界与表单上边界的距 离就是按钮的上起始位置。 在程序设计和运行时都可更改。
一个表单的隐含容器为VFP主窗口。 语法:
对象.Top=nValue
其中的nValue为代表左边界的数值,使用时用一具体数值代入。 备注:
一般不需要在程序中用以上语句来设置对象的上边界,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其上边界就设好了。当我 们用鼠标改变其位置时,其上边界也会相应变化。 当然如果我们要在程序运行的过程中,想改变某对象的上边界,以达到改变对象位置的目的,就可用到上面的语句了。 例如:
我们要在程序中把按钮command1的上边界设为10,实现的语句为: command1.top=10
此语句一旦运行,command1按钮就会移动到其上边界为10的地方。 常用到的对象】
宽度(width)
【设定对象的宽度。
在程序设计和运行时都可更改。 语法:
对象.Width=nWidth
nWidth为指定宽度的数值。 备注:
一般不需要在程序中用以上语句来设置对象的宽度,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其宽度就设好了。当我们用 鼠标改变其大小时,其宽度也会相应变化。
19
当然如果我们要在程序运行的过程中,想改变某对象的宽度,以达到改变对象大小的目的,就可用到上面的语句了。 例如:
我们要在程序中把按钮command1的宽度设为10,实现的语句为: command1.width=10
此语句一旦运行,command1按钮的宽度就会为10了。】
高度(hight)
【设定对象的高度。
在程序设计和运行时都可更改。 语法:
对象.Height=nHeight
nHeight为指定宽度的数值。 备注:
一般不需要在程序中用以上语句来设置对象的高度,在面向对象编程时,一旦对象设置好,或者说用鼠标拉好,其高度就设好了。当我们用 鼠标改变其大小时,其高度也会相应变化。
当然如果我们要在程序运行的过程中,想改变某对象的高度,以达到改变对象大小的目的,就可用到上面的语句了。 例如:
我们要在程序中把按钮command1的高度设为10,实现的语句为: command1.height=10
此语句一旦运行,command1按钮的高度就会为10了。】
控制源(controlsource)
【指定与对象邦定的数据源。
一般是指一个变量或数据库字段,比如对于一个文本框来说,指定一个变量为其控制源,那么在文本框中输入的数据就会存贮到这个变量中 。
在程序设计和运行时都可更改。 语法:
对象.ControlSource=cName
设置:
cName 即为控制变量名,可以是一个变量,也可以是一个数据库字段。 备注:
一旦某对象控制源属性设置到了一字段或变量,该对象的“值”属性与控制源相同。
一般情况下,我们不需要用上面的语句为对象设置控制源,而只需在面向对象编程时,当设好一对象后,在属性窗口中找到contorlsource 属性,输入相应的变量或字段名即可。 例如:
在程序中要将文本框text1中所输入的数据放在变量sj中,则将text1的控制源设为sj,实
20