基本控件的使用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
控件的使用
表单控件有近二十多个,每个控件有几十种属性、几十个方法和事件过程,逐一介绍这些属性、方法和事件有一定的难度。
这里只能通过介绍一些常用控件的属性等讲解。
对控件进行更深一层的了解。
表单的控件一般可分为五类:
输出类:标签、图像、线条和形状
输入类:文件框、编辑框、微调控件、列表框、下拉列表框控制类:命令按钮、命令按钮组、复选框、选项按钮组、计时器
容器类:表格、页框、container容器
连接类:包括activex控件、activex绑定控件、超级连接下面分别对部分控件作介绍:
1、标签控件
它是一个显示文件图形的控件,在设计时可以直接修改其中的文本
2、命令按钮
一般用来启动执行某一动作的事件,比如关闭表单、移动记录、打印报表等,这些事件的操作代码通常放在命令按钮的click事件中。
在使用过程中若default属性被设置为真(.t.)。
也可以在该按钮被选中时按enter键来执行它。
如果命令的cancel属性设置为真,可以按esc键执行按钮。
如果在编辑过程中想提示您操作可进行如下设置
在命令代码中输入messagebox(“我是”+this.caption+”按钮”,64,”您单击的是哪个按钮”)
命令按钮组
用来进行一组相关的命令,可以对其进行相关的编辑操作。
例:下面用标签、命令框来设计一个计费器
在新建的表单中创建标签控件8个,命令按钮2个。
分别进行下列属性设置:
然后在form1的artivate事件代码编写如下:
bel5.caption=""
bel6.caption=""
bel7.caption=""
bel8.caption=""
在command1的click事件代码编写如下:
bel6.caption="" 再次打电话全为空bel7.caption=""
bel8.caption=""
public t1
bel5.caption=time() 显示开始时间
t1=seconds() 返回从午夜以来经过的秒数开始时间
在command2的click事件代码编写如下:
bel6.caption=time() 显示结束时间
t2=seconds() 结束时间
t=(t2-t1)/60 通话时间
m=int(t)
if t<>m
m=m+1 通话时间不足一分加1 endif
bel7.caption=str(m,2) 显示通话时间bel8.caption=str(0.12*m,5,2) 计费方法
运行结果如下:
3、图像按钮控件
允许在表单中添加图片(.bmp)文件,同样可以设置属性、方法程序和事件过程,并且可在程序运行时动态的更改。
Picture指定显示图像的文件
Stretch:图像大小的调节与控制
Backstyle:指定一个对象的背景是否透明
4、形状控件
可以创建一个矩形或圆角矩形,圆或椭圆的控件,
这里主要介绍curature属性,它决定图形边线的曲率,其变化范围是0~99.
rgb
5、线条控件
用于显示水平、竖直或对角线条的图形控件,所显示的线条不能直接更改。
这里有两个重要属性:
borderwidth:指定一个线条的宽度,0~8192。
Borderstyle:指定对象的边框样式
6、文本框控件
在文本控件内可以编辑内容的变量、数组元素或者字段内容。
一般剪切、复制和粘贴等功能在其内部都有效。
常用属性
Value指定文本框当前的状态,可以允许任何数据类型Inputmask
指定数据输入以及如何显示。
其值设置可以如下
X可输入任何字符
9可输入数据和符号
#可输入数字空格和字符
*在值的左测显示星号
Passwordchar指定用户输入的字符是否显示在文框,并确定用作点位符的字符。
例子:
计算机圆面积
主要设置过程如下:
属性设置:
Text1、text2
Inputmask设置为9999.99
Value设置为0
Text2的randonly设置为F Tabstop设置为F
按钮的click事件中设置:
r=thisform.text1.value thisform.text2.Value=r*r*3.14 thisform.text1.SetFocus
清除按钮中设置:
thisform.text1.value=0 thisform.text2.value=0
thisform.text1.setfocus
表单位的activate事件中设置
thisform.text1.SetFocus 将text1设置焦点
设置密码
主要设置过程
属性设置
Text1的passwordchar改为:*
代码:
确定按钮的click事件
IF thisform.text1.Value='123'
=MESSAGEBOX("密码正确!",48,"提示信息")
ELSE
thisform.text1.SetFocus
=MESSAGEBOX("对不起,密码错误!",48,"提示信息")
Endif
重来按钮的click事件
thisform.text1.Value=" "
thisform.text1.SetFocus
thisform.Refresh
退出按钮的click事件
thisform.Release
选项按钮组
7、单选钮组控件
一个包含单选项的容器控件,一个单选钮组件允许从一组单选钮中选择一个。
选择某个选项将释放先前的选择,同时使您的选择成为当前值。
常用属性
Alignment控件钮在左边还是右边
Value被选定还是未被选定
Style指定单选钮的显示方式
在表单中设置示例如下:
在表单中先后加入单选钮、标签、文本框。
可对其属性进行相应的设置。
举例:
在单选钮的click事件代码中编写如下代码
do case
case this.value=1
thisform.text1.value="您选择的性别是教授"
thisform.text1.BackColor=rgb(234,234,0)
thisform.text1.fontsize=12
thisform.text1.fontname='隶书'
case this.value=2
thisform.text1.value="您选择的性别是副教授"
thisform.text1.BackColor=rgb(234,2,233)
thisform.text1.fontsize=16
thisform.text1.fontname='华文行揩'
case this.value=3
thisform.text1.value="您选择的性别是讲师"
thisform.text1.BackColor=rgb(123,123,123)
case this.value=4
thisform.text1.value="您选择的性别是助教"
thisform.text1.BackColor=rgb(234,0,0)
endcase
运行结果如下:
8、复选钮控件check
有时在用户界面上,提供一些项目让用户从几种方案中选择其中一个或多个选项,这里有一个复选框控件,它有两种状态:选中和不选中,同开关一个,打勾表示选中。
常用属性
Alignment属性,0控件钮在左边,1控件钮在右边。
Value属性0未被选定,缺省设置,1被选定,2禁止选择。
Style属性指定是复选框的显示方式。
0标准、1图形Picture属性指定当复选框设计成图形按钮时的图像
设计一程序,用复选框来控制字体风格
在表单窗体中添加入一个标签、五个复选钮控件
复选钮1
IF this.Value=1
bel1.fontname='隶书' ELSE
bel1.fontname='宋体' endif
复选钮2
IF this.Value=1
bel1.fontitalic=.t. ELSE
bel1.fontitalic=.f. endif
复选钮3
IF this.Value=1
bel1.fontunderline=.t. ELSE
bel1.fontunderline=.f. endif
复选钮4
IF this.Value=1
bel1.fontstrikethru=.t. ELSE
bel1.fontstrikethru=.f. endif
复选钮5
IF this.Value=1
bel1.forecolor=rgb(254,120,0)
ELSE
bel1.forecolor=rgb(0,0,0)
endif
8、组合框控件combobox
两种形式的组合框,即下拉组合框和下拉列表框。
控件中style属性,决定了组合框控件的类型。
Style为0则为下拉式组合框,若为2则为下拉式列表框。
9、列表框(listbox)
常用属性
List:是一个字符数组,存放列表框的项目,list数组的下标是从1开始的。
Listindex:只能在程序中设置或引用,表示执行时选中的列表项序号,如果没有任何被选中,则listindex的值为0 Rowsource:指定列表框中的值的来源,在设计时使用。
Rowsourcetype:列表框中的值的类型,在设计时使用。
Inputmask:指定控件中的数据的输入格式和显示格式。
10、编辑框控件
编辑框中允许用户编辑长字段或备注字段文本,允许自动换行并能用方向键、pageup/pagedown以及滚动条来浏览文本。
常用控件:
Sorollbars滚动条属性0无滚动条、2有垂直滚动条Readonly属性指定用户是否可以编辑一个控件,应于编辑框、文本框、表格等,t不能,f能。
设计一个程序,将一个编辑框的内容加入到另一个编辑框
加两个编辑框、两个按钮。
将edit1设置可改写,edit2设置只读。
在添加按钮上设置代码:
IF .not.EMPTY(thisform.edit1.value)
thisform.edit2.Value=thisform.edit1.Value
thisform.edit1.Value=''
mand2.Enabled=1
mand1.Enabled=0
endif
删除按钮加代码
thisform.edit2.Value=''
mand1.enabled=1
mand2.enabled=0
11、计时器控件
计时器控件允许在指定的时间间隔内执行操作和检查数值,计时器控件与用户的操作独立。
它对时间用出反应,可以让计时器以一定的时间间隔重复执行某种操作。
常用属性
Interval属性:指定计时器控件的timer事件之间的时间间隔毫秒数,缺省为0,不触发事件。
当500时,0.5s触发一次。
常用事件:时钟控件只有一个timer事件。
设置一个标签用来显示日期时间。
在表单窗体中加入两个标签控件,一个时钟控件
对时间控件的interval属性设置为500
在时间控件的timer事件中加入代码:
bel1.Caption="今天的日期是:
"+ALLTRIM(STR(YEAR(DATE())))+"年"+ALLTRIM(STR(month(DATE())))+"月"+ALLTRIM(STR(day(DATE())))+"日"
bel2.Caption="现在的时间是:"+TIME() thisform.Refresh
12、页框控件pageframe
像选项卡一样,在表单中一个页框可以有两个以上的页面。
他们共同占有表单中的一块区域。
在某一时刻只有一个活动页面。
在页框刚创建时默认有两个页面page。
可以通过pagecount 属性来设置页面数。
Activate事件:当激活表单时发生
Click事件:在控制上单击鼠标左键时发生
Dblclick事件:在控制上双击鼠标左键时发生
Destroy事件:当释放一个对象的实例时发生
Init事件:在创建表单时发生
Error事件:当某方法(过程)在运行发生错误时发生Keypress事件:当按下并释放某个键时发生
Load事件:在创建表单对象时发生
Unload事件:当对象释放时发生
Rightclick事件:在单击鼠标右键时发生Ralease事件:从内存中释放表单Show事件:显示一张表单。