第六章 表单
第一节 表单的基础知识
第二节 表单控件
一、标签 控件 label
caption 属性 外部名称
name 属性 内部名称(写代码时要引用的)
width属性
height属性
left属性
backcolor autosize fontsize fontname forecolor
alignment
例1:标签标题的位置互换
t=https://www.wendangku.net/doc/0616275954.html,bel2.caption
https://www.wendangku.net/doc/0616275954.html,bel2.caption=https://www.wendangku.net/doc/0616275954.html,bel3.caption
https://www.wendangku.net/doc/0616275954.html,bel3.caption=t
二、计时器 控件 timer
interval 属性
例2:电子表的制作
例3:滚动字幕
https://www.wendangku.net/doc/0616275954.html,bel1.left=https://www.wendangku.net/doc/0616275954.html,bel1.left-10
if https://www.wendangku.net/doc/0616275954.html,bel1.left<=https://www.wendangku.net/doc/0616275954.html,bel1.width
https://www.wendangku.net/doc/0616275954.html,bel1.left=thisform.width
endif
https://www.wendangku.net/doc/0616275954.html,bel1.left=https://www.wendangku.net/doc/0616275954.html,bel1.left+10
if https://www.wendangku.net/doc/0616275954.html,bel1.left>=thisform.width
https://www.wendangku.net/doc/0616275954.html,bel1.left=https://www.wendangku.net/doc/0616275954.html,bel1.width
endif
三、文本框 控件 text(只允许输入一行数据/ 编辑框中可以输入多行数据)
文本框中允许输入各种类型的数据,输入后,数据类型默认为字符型;
文本框可以接受各种类型的数据。
value 属性
passwordchar 属性
inputmask 属性
四、命令按钮 控件 command
visible 属性 是否可见
enabled 属性 是否可用
default 属性 (确认按钮)
当给某个命令按钮将该属性设置为真,运行表单,如果用户按 Enter键时,则该命令按钮会强行夺取焦点,系统并自动执行该命令按钮的 click 事件中的代码。
在一个表单中,只允许其中一个命令按钮设置该属性。
cancel 属性 (取消按钮)
当给某个命令按钮将该属性设置为真,运行表单,如果用户按 ESC键 时,则该命令按钮会强行夺取焦点,系统并自动执行该命令按钮的 click 事件中的代码。
在一个表单中,只允许其中一个命令按钮设置该属性。
“日期”命令按钮的代码:thisform.caption=dtoc(date())
“时间”命令按钮的代码:thisform.caption=time()
“放大”命令按钮的代码如下:
thisform.width=thisform.width+thisform.width*0.1
thisform.height=thisform.height+thisform.height*0.1
例4:登录界面的制作
关键步骤:用户必须要新建一个属性,该属性主要是控制登录次数的。(number)
代码如下:
if alltrim(upper(thisform.text1.value))="ABCDEF" and thisform.text2.value="123456"
wait "输入正确,欢迎使用!" window timeout 3
thisform.backcolor=rgb(255,255,200)
thisform.caption="兰州长城计算机学校"
else
thisform.number=thisform.number+1
if thisform.number=3
wait "您的输入次数已经3次,系统将会马上关闭!" window timeout 3
thisform.release
else
wait "您输入的用户名或密码有误,请核对后重新再输!" window timeout 3
thisform.text1.value=""
thisform.text2.value=""
endif
endif
五、列表框控件 List
rowsourcetype 属性 数据源的类型(1-值 3-SQL语句 6-字段 )
rowsource 属性 具体数据源
value 属性
六、组合框控件 Combo
rowsourcetype 属性 数据源的类型(1-值 3-SQL语句 6-字段 )
rowsource 属性 具体数据源
value 属性
例:
t=thisform.list1.value
select 工资 from 职工 where 职工号=t into array s
thisform.text1.value=s(1)
七、表格控件 grid
recordsourcetype 属性 数据源的类型
0-表
1-临时表或视图
4-SQL语句
recordsource 属性 数据源
columncount 属性 表格的列数
★★★将表显示到表格控件上,有以下几种方法:★★★
1、通过表单的数据环境
2、通过属性窗口
3、通过代码窗口
4、通过表格控件的“生成器”命令(可以有选择的显示表中的字段)
5、直接从数据环境中将表格拖到表单上即可(不需要画表格控件)注意:用这样的方法创建的表格控件,它的名称一般为 grd……
课后题(第三大题)的代码:
t=alltrim(thisform.text1.value)
select 课程号,成绩 from student,grade where student.学号=grade.学号 and 姓名=t into cursor temp
thisform.grid1.recordsourcetype=1
thisform.grid1.recordsource="temp"
select max(成绩), min(成绩),avg(成绩) from temp into array s
thisform.text2.value=s(1)
thisform.text3.value=s(2)
thisform.text4.value=s(3)