设置快捷键:
在该项菜单中,点击上面“选项”下面对应的按钮,在打开的窗口中,直接在键盘上按下快捷键,如F1、CTRL+W等,窗口自动显示快捷键,如有提示信息显示,在信息中,输入信息,要加双引号。
注意区分信息和命令,若是执行某命令,则必须在该项菜单创建命令,并输入命令。
添加分割线:
点右侧的插入按钮,在插入的新菜单名称中输入:
\–(斜线和减号)
二、设计题(详记各种控件常用属性和事件方法)
1、表单form1
AutoCenter运行时表单居中
BackColor背景颜色
BorderStyle边框设置,固定边框或者可调大小边框
Caption表单标题
Closable关闭按钮是否可用
Icon设置表单的图标
Height表单高度
Width表单宽度
Left运行时和窗口左边的距离
Maxbutton最大化按钮是否可用
Moveable窗口是否可以移动
Showtips是否可以允许表单上的控件显示提示信息
常用事件方法:
Init表单初始化,常用来设置表单刚运行时,表单上控件的一些属性
Load定义全局变量
2、标签label1
Alignment标签中内容的对齐方式,若AutoSize为真,则无用
AutoSize标签大小完全适合内容的长度
BackColor标签背景颜色
ForeColor标签中内容的颜色
BorderStyle标签是否有边框
Caption标签内容
Left标签和窗口左侧的距离
Top标签和窗口上侧的距离
Visible是否可见
ToolTipText提示信息表单的ShowTips属性必须为真
WordWrap标签中的内容横排还是竖排
3、控件的文本属性
FontName字体
FontSize字号
ForeColor颜色
FontBold加粗
FontItalic倾斜
FontUnderline下划线
4、文本框Text1
Value值,默认为字符型左对齐,0为数值型右对齐,{}日期型,.f.逻辑型
可点击文本框右键在生成器中设置
ControlSource绑定数据表中某一字段,鼠标点击下拉选择,不是键盘输入的。
也可以点击文本框右键在生成器的值标签中设置。
注意表单数据环境中必须添加该表
ReadOnly内容是否只读,变成灰色不可编辑
InputMask设置输入格式位数,如:
X:
任何字符如果限制位数:
XXXXXX:
只可以输入6个任意字符
9:
任何数字如果限制位数:
999999:
只可以输入6个数字
A:
字母如果限制位数:
AAAAAA:
只可以输入6个字母
#:
只可以输入数字和正负号还有空格
Format:
设置输入格式
A:
只允许字母
T:
去掉输入内容的前后空格
!
:
若输入的是小写字母自动转化为答谢字母
K:
当文本框接收焦点时,自动选中文本框的值
L:
在文本框中显示数值的前导零
PasswordChar:
设置输入内容用字符替代,比如常用的密码输入*即可,不要加双引号。
常用事件方法:
Text1的KeyPress事件从键盘给Text1输入内容后
5、编辑框Edit1
ControlSource绑定数据表中某一字段,鼠标点击下拉选择,不是键盘输入的。
也可以点击文本框右键在生成器的值标签中设置。
注意表单数据环境中必须添加该表
ReadOnly内容是否只读,变成灰色不可编辑
6、命令按钮Command1
Caption标题
Picture显示图片注意,一定要去掉标题
Height高度
Width宽度
Left和窗口的左侧距离
Top和窗口的上侧距离
Visible是否可见
常用事件方法:
Command1的Click事件点击按钮后要发生的事件
7、列表框List1
RowsourceType列表框中数据类型
Rowsource列表中数据
如果:
列表框显示的是自己输入的值student,grade,course,则
RowsourceType1-值
Rowsourcestudent,grade,course
列表框中显示的是某个数据表的字段,如student.姓名
Rowsourcetype6-字段
Rowsourcestudent.姓名
下拉选择而不是输入的,数据环境中必须添加student表
列表框中显示的是从表中查询得来的内容,如显示student表中金融专业的学生学号,姓名,入学总分
Rowsourcetype3-SQL语句
Rowsource无
其中Rowsource的内容要写在事件代码中
Thisform.list1.rowsource=”select学号,姓名,入学总分;
fromstudent;
where专业=”金融”;
intocursortemp”
列表框中显示的是数组的值,如数组num,
Rowsourcetype5-数组
Rowsourcenum
注意:
数组必须先定义,在表单的load事件中定义
dimensionnum(10)或二维num(3,4)
ColumnCount列表框中的列数
ColumnLines列表框中是否有分割线
ColumnWidths列表框中每列的宽度
Listcount列表框中项目的个数
ListIndex被选中项目的顺序号
List被选中的项目的值,如list
(2),第二条项目的内容
Value列表框中被选中的内容
Selected判断是否被选中,如selected
(2),第二条是否被选中
常用事件方法:
Interactivechange列表框中内容被选择时
AddItem列表框添加内容,如additem(thisform.text1.value)
RemoveItem列表框删除内容,如removeitem
(2),删除第二条
8、组合框Combo1
Style确定是下拉组合框还是下拉列表框,下拉组合框可以输入内容,下拉列表只能选择内容。
Rowsourcetype同列表框
Rowsource同列表框
常用事件方法:
Interactivechange列表框中内容被选择时
9、表格Grid1
RecordSourceType0-表
RecourdSource表名注意:
数据环境中必须已添加此表
其余同列表框
表格通常点击右键,在生成器中设置,其所显示数据表中的字段,各列标题。
属性窗口中,下拉列表中可以选择各列进行设置属性。
10、选项按钮组OptionGroup1
ButtonCount选项按钮数
在属性窗口中,下拉列表中选择各个选项按钮,设置Caption属性
Value值,运行时选中状态下,值为1,否则为0
注意,编写代码时,要写清楚每个选项按钮的名称,如:
thisform.optiongroup1.option1
11、复选按钮Check1
Value值,运行时选中状态下,值为1,否则为0
12、微调器Spinner1
SpinnerHighValue向上箭头达到的最大值
SpinnerLowValue向下箭头达到的最小值
Increment点击向上或向下箭头增加或减少的值
KeyboardHighValue允许输入的最大值
KeyboardLowValue允许输入的最小值
Value初始显示的值
常用事件方法:
UpClick点击向上按钮时
DownClick点击向下按钮时
13、计时器Timer1
Interval计时间隔,单位毫秒
Enabled是否可用
常用事件方法:
Timer每计时一次
14、形状Shape1
BackColor背景颜色
Curvature角的曲率,0-直角,1-98—圆角,99-圆
FillStyle填充方式
15、图像Image1
Picture插入的图片名称
Stretch调整图像尺寸以适应控件大小
0—剪裁
1—等比填充
2—变比填充
16、页框PageFrame1
PageCount页面数
在属性框中,下拉列表里选择页面page1,page2,……填充控件或者设置Caption属性
注意写代码时,要写清楚控件的位置,如:
man1
17、线条Line1
LineSlant设置线条倾斜的方向,默认\,如果反斜线,值为/
BorderStyle线形,实线、虚线、点划线等
Width线条的宽度,0为垂直线
Height线条的长度,0为水平线
18、命令按钮组CommandGroup1
ButtonCount选项按钮组中按钮数目
在属性框中,下拉列表里选择command1,command2,……设置Caption属性
注意写代码时,要写清楚命令按钮的位置,如:
man1
其他同普通命令按钮。
三、常见的函数
avg()求平均值
sum()求和
count()统计个数
upper()将小写字母转换为大写字母
lower()将大写字母转换为小写字母
alltrim()去掉前后空格
int()取整
str()将数值型转换为字符型,str(123,4)=”123”
val()将字符型转换为数值型,val(“12k89”)=12
dtoc()将日期型转换为字符型,dtoc(date())=”052611”
date()显示系统日期
datetime()显示系统日期和时间
time()显示系统时间
len()统计字符串的长度
year()返回日期中的年份
month()返回日期中的月份
day()返回日期中的日
minute()返回日期时间中的分
hour()返回日期时间中的时
sec()返回日期时间中的秒
right()从右侧取字符,例如right(学号,2)取学号的后2位
left()从左侧取字符,例如left(学号,2)取学号的前2位
substr()取字符串中的子串,例如substr(学号,3,2)取学号中的3、4位
messagebox()弹出对话框,如
messagebox(“是否删除记录”,”提示”)
选择题答案:
1~20.DCBBCDBDDBBDCDBDADCA
21~40.DCDDDDCBCDCDCDBDCBCD
41~60.BDBCCACADCDDCBCADBCD
61~80.DBCDBDBDBDCABDCBDADA
81~100.BBADDCBDCDBACBCDBCBA
101~120.ADDDDCDDCCCBADACDBCD
121~140.CBBBDCAACBDCBDCAA
135~155BDBCDDDCDDAABCBBDBDC
156~175.ABCCBCCDADDDBBADDBAB
176~195.CDAAAADBDCDCCACDDCBD
196~215CAABBCBCAADCCACCCCCD
表单设计题参考答案
第一题
设计“登录”表单login.scx
题目:
设计如左边图所示的表单运行初始界面(各对象的大小、布局大致如图),要求如下:
1)新建表单,其Name属性为Form1,标题CAPTION为“登录”,运行时居中→AUTOCENTER属性为真;
2)添加标签控件两个,Name属性分别为Label1、Label2,标题CAPTION分别为“密码”、“登录时间”,背景透明BACKSTYLE,大小自动适应内容AUTOSIZE;
3)添加两个文本框Text1与Text2,Text1允许输入最多6个任意字符点击TEXT1右键→生成器→输入掩码XXXXXX,输入字符以“*”显示TEXT1的PASSWORDCHAR属性为*;Text2无边框属性Borderstyle为无,背景色为Backcolor浅灰色(192,192,192),用以显示系统当前日期时间(或者日期)Value填入=datetime()。
4)添加命令按钮两个Command1与Command2,标题分别为“确定”与“取消”,其中标题“取消”的command2命令按钮为表单的缺省命令按钮;设置表单FORM1的INIT事件填写代码:
mand2.setfocus
5)完成后以LOGIN.scx为文件名保存所设计的表单。
第二题设计“奥运”表单OY.scx
题目:
设计如左边图所示的表单运行初始界面(各对象的大小、布局大致如图),要求如下:
1)新建表单,其Name属性为Form1,高度为100、宽度为250,标题为“奥运”,运行时居中,背景色为黄色(255,255,0);
2)添加标签控件两个,Name属性分别为Label1、Label2;
标签Label1的标题为“2008北京奥运”,字体为“隶书”,字号为30,文字颜色为青黄色(128,128,0),背景透明,其最左端相对于表单的位置为1→Left属性,其顶边相对于表单的顶边的距离为24→Top;
标签Label2的标题为“2008北京奥运”,字体为“隶书”,字号为30,文字颜色为蓝色(0,0,255),背景透明,其最左端相对于表单的位置为4,其顶边相对于表单的顶边的距离为20;
3)完成后以OY.scx为文件名保存所设计的表单。
第三题设计“按部门浏览”表单lookfor.scx
题目:
利用workers数据库(其中bmdm表存放部门信息,work表存放职工信息)实现以下设计要求:
设计如左边图中所示的表单运行初始界面(各对象的大小、布局大致如图),实现按部门查询职工的工号、姓名、部门号,要求如下:
1)新建表单,其Name属性为Form1,背景色为纯蓝,即RGB(0,0,255);
2)往表单添加标签控件一个,Name属性为Label1,标题为“请选择部门”,背景
透明Backstyle,文字白色(RGB(255,255,255)),大小自动适应内容Autosize;
3)添加组合框控件一个,Name属性为Combo1,数据源为bmdm表的字段“部门号”;
一、数据环境中添加数据表bmdm,work表
二、Combo1的RowsourceType属性值为字段
三、Combo1的Rowsource属性值为bmdm.部门号
4)添加表格控件一个,其Name属性为grdWork,数据源自左而右为Work表的工号、姓名、部门号,grdWork为只读;
一、表格的Name属性值grdWork
二、点击表格的右键,选择生成器,选择表Work,字段选择工号,姓名,部门号
三、表格的Readonly属性值为真
5)当选中Combo1的某一项时,表格grdWork则自动显示该部门所有职工的工号、姓名、部门号;
一、点击表格的右键,选择生成器
二、在关系中设置,父表中的关键字段:
bmdm.部门号
字表中的相关索引:
部门号
6)完成后以lookfor.scx为文件名保存所设计的表单。
第四题
操作:
一、形状控件Shape1的Curvature属性值为99
直径60:
设置height和width属性值都为60
第十二题
题目:
打开表单Study.scx,界面如左边图示,你需要学习“FoxPro单词”吗?
可以点击上面相应按钮得到提示。
要求如下:
1)单击命令按钮Command1(第一个),则在文本框Text1中显示dic表中的第一个英文单词,在文本框Text2中显示dic表中的第一个英文单词的中文意思;
Command1的Click事件
gotop
thisform.refresh
2)单击命令按钮Command2(上一个),则在文本框Text1中显示dic表中的上一个英文单词,在文本框Text2中显示dic表中的上一个英文单词的中文意思;
Command2的Click事件
skip-1
thisform.refresh
3)单击命令按钮Command3(下一个),则在文本框Text1中显示dic表中的下一个英文单词,在文本框Text2中显示dic表中的下一个英文单词的中文意思;
Command3的Click事件
skip
thisform.refresh
4)单击命令按钮Command4(最后一个),则则在文本框Text1中显示dic表中的最后一个英文单词,在文本框Text2中显示dic表中的最后一个英文单词的中文意思;
Command4的Click事件
gobottom
thisform.refresh
5)单击命令按钮Command5(退出),则关闭表单。
Command5的Click事件
thisform.release
第十三题
题目:
打开表单stcx.scx,界面如左边图示,利用数据表assn1.DBF和join1.DBF,实现按入社团年份,显示该年份入社团的会员姓名、社团名称和参加日期;要求如下:
1)组合框Combo1显示年份;
2)选择Combo1的某年份,则在表格控件Grid1中显示该年份入社团的会员姓名、社团名称和参加日期。
已知表格控件Grid1的数据源类型是“4-SQL说明”,请编写Combo1的InteractiveChange事件代码,实现表单功能。
Combo1的InteractiveChange事件代码:
s=alltrim(bo1.value)
thisform.grid1.recordsource="select会员姓名,社团名称,参加日期fromassn1innerjoinjoin1onassn1.社团号=join1.社团号whereyear(参加日期)=val(s)intocursortemp"
第十四题
操作:
一、点击文本框text1的右键,生成器里设置为字符型
二、设置表格Grid1的recordsourcetype属性为SQL
三、查询按钮的Click事件
s=allt(thisform.text1.value)
m=”07”
thisform.grid1.re