vfp表单设计
- 格式:doc
- 大小:112.00 KB
- 文档页数:7
VFP表单设计小技巧1.设计Tab键顺序.当表单中控件较多时,利用特性页来设置TabIndex特性就变得很慢了,你可以得用Shift键来设计其顺序.你可以选择”查看/Tab键次序”菜单,这时,在每个控件的左上角出现一个小方框. 按下Shift键并按顺序单击每个控件,然后单击”重新排序”按钮即可.2.把”形状”放在后面.当你希望在表单中把颜色背景放在一些控件的后面时,可简单击表单布局工具栏的”形状”按钮,并在屏幕上拖出一个长方形的外形.若要把它移到现有控件之后,可单击”格式/置后”菜单或在布局工具栏中单击”置后”图标即可.3.修理损坏的表单.VFP把每个表单集或表单保存在以扩展名为.SCX的表中.每个表单的.SCX文件都有个以.SCT为扩展名的同名备注文件.表单中的每个控件在.SCX文件中都有一个记录,若某个控件的错误很可能使整个.SCX文件打不开而不能使用,这时你不要放弃整个表单,因为只是某条记录使VFP遇到了麻烦.改正这一问题的一种方法是把表单的.SCX方件当作表打开对它进行编辑.首先对.SCX和.SCT文件进行备份,然后在命令窗口中用USE FormName.SCX 命令打开表单并用BROW命令进行浏览,在.SCX文件中打开损坏了的记录中有总是的备注型字段并改正这一总是或删除这一行.如果总是存在于方法列中,可能需要将方法代码拷贝到一个文本文件中,删除Object 备注字段中的内容,然后根据文本文件重方法即可.4.加快刷新速度.通常,当一个控件限于内存变量,数级或特性中的数据时,没有必要调用Refresh 方法来更新控件的显示.因为这样需要大量的处理程序和图形资源,影响运行速度.如果控件限于表或缓冲区中的数据以及数据变化时,确实需要刷新这些控件,你可以加入以下代码:thisform.LockScreen=.T.thisform.Refresh()thisform.LockScreen=.F.。
<包括资料第7章知识>9 面向对象的程序设计一、面向对象的程序设计OOP(Object Oriented Programming)对象:一种将数据和操作过程结合在一起的数据结构,是现实世界中待处理的客观实体的抽象表达。
例:表单(FORM),文本框(TEXT BOX)等二、对象(object)和类(class)的含义对象::是反映客观事物属性及行为特征的描述。
类:是具有共同属性、共同操作性质的对象的集合。
类是对象的抽象描述,对象是类的实例。
类是抽象的,对象是具体的。
通过类可以产生对象。
三、类的特性:继承性、封装性、多态性四、类的分类:基类(29个)、子类、用户自定义类(类库)其中VFP中基类又分为:容器类和控件类五、对象的基本要素:属性、事件、方法(消息)1、属性(PRORERTY):是一组用于描述对象的物理特征的值。
如:对象的标题(CAPTION),名字(NAME),可见性(VISIBLE),能用性(ENABLED)等属性说明属性说明Caption 指定对象的标题Visible 指定对象是可见还是隐藏Name 指定对象的名字Enabled 指定对象能否使用Value 指定对象当前的取值Left 对象左边相对于父对象的的位置Passwordchar 指定用作占位的字符(通常用于文本框设置密码显示形式)TOP 对象上边相对于父对象的位置ButtonCount 指定命令按钮组(COMMAND GROUP)或选项按钮组(OPTIONBUTTON GROUP)中的按钮数目FONTNAME 指定对象文本的字体名B、属性的修改:属性工具中修改,也可以在事件代码中修改。
事件代码中修改的方法:(1)绝对引用:指出所在容器类的名字格式:容器.对象.属性=值例如:mand1.caption=’显示’(2)相对引用:参照关键字参照对象THIS 该对象THISFORM 包含该对象的表单THISFOMSET 包含该对象的表单集Parent 包含该对象的父对象command1中的click事件代码:mand2.caption=”退出”2、事件:对象可以识别和响应的行为和动作。
1.编制“学生”表信息查询界面,要求如图1、图2、图3所示。
图1 用户选择前的运行界面图2 用户选择同学后的运行界面图3 控件的布局界面2.编制一个表单完成表文件“学生.dbf”内容的学生奖学金查询显示功能(界面如图所示)。
要求:①当用户在组合框输入或选择班级(学号的左三位)后,按回车或“确定”按钮时,表单将自动显示对应班级的奖学金总额;②按“退出”按钮时,自动关闭表单。
图:用户选择确定后的运行界面3.建立一个表单,通过控件的事件代码控制,实现表单顶行的标签信息向下平移。
设计界面如图所示:图:信息单向平移表单设计界面4.运用文本框和计时器对象设计一个数字时钟表单,界面如图1、2所示。
要求:文本框文字为隶书、20号字,表单的标题为“数字时钟”,每隔1秒钟刷新一次时间。
图1:设计界面 图2:运行界面5.设计一个圆球跳动表单。
要求:球的宽和高为40,球的填充颜色为咖啡色,表单的标题为“圆球跳动”,球每隔0.5秒在表单的上下边之间跳动。
按开始按钮球跳动,按停止按钮球停止。
设计界面和运行界面见下图所示。
6.设计一个完成口令判定功能的表单,界面如图所示。
具体要求如下:①用户从键盘输入口令时,表单的显示控件以“*”代替具体内容;②系统的口令存放在表文件“学生.dbf ”的姓名字段中,要求完全匹配;③输入口令后,按回车或按“确定”按钮,将自动显示信息框(Messagebox ),提示“正确!”或“错误!”;④按“退出”按钮将自动关闭表单。
7. 编制一个表单完成表文件“学生.dbf ”内容的自动只读浏览显示功能,界面如图所示。
具体要求如下:①表单初始显示内容为表文件“学生.dbf ”的首记录;②表单内容将以10秒为间隔自动刷新,即自动顺序向后翻记录,当翻至表底时,将自动回到首记录循环翻动。
8.编制一个显示时钟和日期的表单,界面如图所示。
命令按钮及文本框的字体、颜色和大小设置为自己喜欢的形式。
图:设计界面 图:时间显示界面图:日期显示界面9.借助于文本框和微调框编制一个手工日历表单,界面如图所示。
VFP表单控件应用设计与案例表单控件的应用要点:1.条件语句在表单中应用:IF语句和do case语句2.循环语句在表单中应用:for语句和do while语句3.计时器的应用4.数据表在表单中应用:skip5.SQL语句的应用6.列表框的应用难点:SQL的应用表单控件对象有:表单表单集文本框编辑框列表框组合框表格复选框选项按钮组(单选框)页框Container容器命令按钮命令按钮组标签线条形状图像计时器微调控件ActiveX绑定控件超级链接控件对象分为:控件对象和容器控件。
控件对象是基本对象:命令按钮、文本框、标签、线条、形状、复选框、组合框。
容器控件包含其他对象的对象:表单、表单集、Container容器、命令按钮组、微调控件、选项按钮组(单选框)、页框、页面、表格、表格列从功能上分为:输出类:标签、图像、线条、形状输出类:文本框、编辑框、列表框、组合框、微调控件控制类:命令按钮、命令按钮组、复选框选项按钮组(单选框)、计时器多重容器类:表格、页框、Container容器、表单集连接类:ActiveX绑定控件超级链接控件1、条件语句在表单中应用单分支语句:if …. Else…. Endif多分支语句:do case ……endcaseIf…endif语句一般都是与For…endfor配合应用。
案例1多分支0901参考答案:“计算”按钮的click event代码:x=thisform.text1.valuedo casecase x<-10y=2*(sin(x)+1)case x<10y=(abs(x)-5)/3othery=x/7-8 endcasethisform.text2.value=y thisform.refresh案例2多分支0912k=thisform.text1.value do casecase k>=0 and k<60m="不合格"case k<85m="合格"case k<=100m="优秀"otherm="非法数据"endcasethisform.text2.value=m2. 循环语句在表单中应用案例0906m=alltrim(thisform.text1.value) k=len(m)s=0for i=1 to kn=substr(m,i,1)if n>="a" and n<="z"s=s+1endifendforthisform.text2.value=s案例0906a=thisform.text1.valueb=thisform.text2.valuec=thisform.text3.valued=thisform.text4.valuem=a*b+c*dif m>=300m=m*0.9endifthisform.text5.value=round(m,0)thisform.refresh3.计时器的应用属性:Interval:计时时间间隔,单位毫秒。
vfp6表单设计实例VFP (Visual FoxPro) 是一种关系数据库管理系统,由微软公司开发。
表单(Form)是 VFP 中用于创建用户界面的重要工具。
以下是一个简单的 VFP 6 表单设计的实例:1. 创建表单首先,打开 VFP 6,选择 "File" -> "New" -> "Form"。
这将打开表单设计器。
2. 添加控件在表单设计器中,你可以从工具箱(Toolbox)中拖放各种控件,如标签(Label)、文本框(TextBox)、命令按钮(CommandButton)等。
例如,你可以添加一个标签(Label)和一个文本框(TextBox),用于用户输入数据。
3. 设置属性选中控件后,可以在属性窗口(Properties Window)中设置各种属性,如名称、位置、大小、字体等。
例如,你可以设置标签的 `Caption` 属性为 "姓名",设置文本框的 `Name` 属性为 "txtName"。
4. 编写事件代码在 VFP 中,你可以为控件的特定事件编写代码。
例如,你可以为命令按钮的 `Click` 事件编写代码,以便在用户点击按钮时执行某些操作。
在代码窗口中输入以下代码:```vfpDO SomeProcedure```其中 `SomeProcedure` 是你要执行的过程的名称。
5. 保存表单最后,保存表单。
选择 "File" -> "Save As",并输入表单的名称和位置。
以上是一个简单的 VFP 表单设计实例。
你可以根据需要添加更多的控件和事件代码,以创建更复杂的用户界面。
8.1 基本概念
1.名词解释
表单:
即用户与计算机进行交流的一种屏幕界面,用于数据的显示、输入、修改。
该界面可以自行设计和定义,是一种容器类,可包括多个控件(或称对象)。
表单集:
可包含一张或多张表单的容器。
数据环境:
在打开或修改一个表单或报表时需要打开的全部表、视图和关系。
它以窗口形式(类似于数据库设计器)反映出与表单有关的表、视图、表之间关系等内容。
可以用数据环境设计器来创建和修改表单的数据环境。
2.表单设计界面
主要包括: 表单向导、表单设计器、表单设计器工具栏、表单控件工具栏、属性窗口
3.表单设计中常用的属性、事件与方法介绍
8.2 创建表单
可以用表单向导、表单设计器、表单生成器、编程四种方法创建表单。
1. 利用向导创建表单
(1)创建单张表的表单:
打开文件菜单→ 新建→ 表单→ 向导[或从常用工具栏上选择表单(F)] → 选择表单向导→ 选取字段→ 选择样式→ 选择排序记录→ 选择保存方式→ 给出合适的文件名和保存位置。
(2)创建多个相关表的表单:
打开文件菜单→ 新建→ 表单→ 向导[或从常用工具栏上选择表单(F)] → 选择一对多表单向导→ 选取父表字段→ 选取子表字段→ 选定关系→ 选择样式→ 选择排序记录→ 选择保存方式→ 给出合适的文件名和保存位置。
注意:用向导创建的表单一般含有一组标准的命令按钮。
表单保存后系统会产生两个文件:
表单文件:扩展名为 .SCX
表单备注:扩展名为.SCT
2. 利用表单生成器创建表单
文件菜单→ 新建→ 表单→ 新文件→ 表单菜单→ 快速表单命令→ 选择字段和样式并确定之。
注意:用生成器创建的表单不能直接产生一些命令按钮。
3. 利用设计器创建表单
文件菜单→ 新建→ 表单→ 新文件→ 在表单设计器中,用表单设计器和表单控件工具条上的按钮创建所需的表单→ 保存表单→ 给出文件名和保存位置。
注意:用设计器创建的表单,用户必须为控件设置有关的属性及事件处理代码。
4. 利用编程的方法创建表单
按照面向对象设计的方式,先可视化地利用类来创建表单,再将类代码复制到程序窗口,适当添加部分设置系统环境的代码,以程序文件的形式保存。
5. 运行表单
从常用工具栏上单击运行按钮(!)或从表单菜单中选择运行表单命令或从命令窗口中输入:DO FORM 表单文件名。
8.3 向表单中添加控件
1. 常用控件的作用
标签:用于保存不希望用户改动的文本,常用来为添加的控件写标。
文本框:用于输入或编辑表中的非备注型字段,框中一般是单行的文本。
编辑框:用于输入或编辑长字段或备注字段,框中可以有多行并有垂直滚动条。
列表框:用于显示一组预定的、供用户选择的值,可以是一列或多列,可通过滚动条浏览列表信息。
组合框:一种下拉式的列表框,可以从中选择一项或人工输入一个值,兼有列表框和文本框的功能复选框:用来显示多个选项,可以选择其中的一项或多项。
表格:一个按浏览窗口样式显示数据的容器,常用来显示一多关系中的子表。
页框:一种用于创建选项卡式对话框的容器类,一个页框可以包含多个页面,但每次只能有一个活动页面。
微调控制:用于接受给定范围内的数据输入。
命令按钮:常用来启动一个事件。
命令按钮组:用来把相关的命令按钮编成组。
选项按钮组:用于显示多个选项,只允许从中选择一项。
计时器:可以在指定时间或按照设定的间隔运行进程,此控件在运行时不可见。
2. 用生成器向表单中添加控件:
打开所需表单,进入表单设计器→ 从表单控件工具栏上选择生成器锁定按钮→ 从该工具栏上选择所需控件并放在表单上→ 在生成器的选项卡中填上有关信息。
3. 利用数据环境在表单中创建控件:
从数据环境中直接将所需字段或表拖到正在设计的表单中,VFP 会自动生成符合要求的控件。
4. 自定义方式创建控件
打开表单设计器→ 根据需要从工具栏上单击某个控件→ 用鼠标直接在表单上画出控件外形→ 在属性窗口设置该控件的各项属性。
5.使用类浏览器向表单中添加控
在表单设计器中打开表单→ 在类浏览器中打开类库文件,其中应包含有添加到表单中的对象的类→ 从类列表中,选择类名,然后把类图标拖放到表单上。
类图标位于类列表的上方。
附注:如果要把类添加到表单的容器对象上,则需把类图标拖放到表单中一个区域,然后把对象剪切并粘贴到所要的容器上。
6. 控件常用的属性、事件与方法
8.4 修改表单布局
打开表单,进入表单设计器,用表单设计器工具栏或显示菜单中的各命令修改表单。
1. 选择、移动和缩放控件
选择:用鼠标单击所需控件
移动:选定控件,用鼠标拖动到新位置或从编辑菜单中选择剪切再在新位置粘贴
缩放:选定控件,用鼠标拖动尺寸柄直至所需大小松开
2. 复制和删除表单控件
复制:选定表单上现有的控件→ 从编辑菜单中选择复制→ 从编辑菜单中选择粘贴。
删除:选定表单上现有的控件→ 按Delete 键。
3. 控件的布局
可利用布局工具栏使表单上的所有控件排列整齐、大小合理、对称美观。
8.5 定制表单
1. 改变文本的字体和大小
打开表单,进入表单设计器→选择要修改的控件→ 打开属性窗口→ 设置字体大小和字形,如FontName 、FontSize、FontBold。
2.向表单中添加线条和形状
选择工具栏上的线条或形状按钮,在表单中所需位置拖动鼠标,画出线条或图形,图形界于正方形和圆形、长方形和椭圆形之间(属性窗口中的Curvature 值从0~99 )。
线条和形状的颜色可以在属性窗口中设定。
3.向表单中添加图形
从表单控件工具栏中选择图象→ 在属性窗口中选择Picture 属性单击该栏的…按钮→ 在打开对话框中找到所需的图象文件→ 确定
4.设置一个表单的前景和背景颜色
用调色板工具栏或通过属性窗口中的ColorSource 属性来设置。
5. 创建表单集
启动表单设计器→ 从表单菜单中选择创建表单集→ 设计第一张表单→ 从表单菜单中选择添加新表单→ 设计另一张表单→ 添加新表单→ 设计另一张表单……
8.6 设计自定义表单的一般方法
1.与数据表绑定型表单
(1) 生成基本表单:
新建→ 表单→ 新文件→ 进入表单设计器→ 表单菜单→ 快速表单→ 选定数据库(表)→ 选定输出字段→ 选定样式→ 确定。
(2) 修改基本表单:
1) 用鼠标拖动来调整各字段的布局(排列位置、大小、对齐等);
2) 在属性窗口中设置表单中各对象的属性:
表单(form1):
caption:输入表单的中文标题
backcolor:设置表单背景颜色
autocenter:使表单运行时自动处于屏幕中央
visible:设置表单在运行时是否可见,一般采用 .T.
各字段控件:
autosize:根据所容纳的内容自动调整大小, 常采用 .T.
backstyle:字段标题一般可设为透明,其它可设为不透明
caption:输入中文的字段标题
fontname:设置控件字体
fontsize:设置字体大小
forecolor :设置字体颜色
(3) 根据需要添加控件:
1) 利用数据环境:
打开基本表单→ 单击鼠标右键→ 从快捷菜单中选择数据环境→ 将所需字段拖到表单中→ 用标签控件为字段添加标题(先画出标签控件再更改标签的caption 属性)。
2) 利用表单控制工具栏:
打开基本表单→ 单击工具栏中所需控件→ 在表单中画出控件→ 选定控件→ 单击鼠标右键→ 从快捷菜单中选择生成器… → 在对话框中选好所需各项→ 确定。
(4). 添加命令按钮
根据需要添加适当数量的命令按钮(用单个命令按钮或用命令组均可),设置命令组时要利用命令组生成器(单击右键,从中选择生成器)。
更改命令按钮的标题,需用热键时在标题后加上(\<A)即可。
如:Caption 中为: 退出(\<X ), 按钮上则显示退出(X)
(5). 为命令按钮编写事件代码
根据命令按钮的标题所代表的功能在代码窗口中填写代码。
几个常用按钮的代码如下表。
2.与数据表无关型表单
新建→ 表单→ 新文件→ 进入表单设计器→ 添加控件→ 设置属性→ 编写代码。