国内最全IT社区平台 联系我们 | 收藏本站
华晨云阿里云优惠2
您当前位置:首页 > 数据库 > FoxPro > VFP基础教程 5.1 表单(一)

VFP基础教程 5.1 表单(一)

来源:程序员人生   发布时间:2014-01-19 03:10:56 阅读次数:9241次

    表单(form)在vfp中,是一种最重要,最常见的容器类对象,在表单中可以添加各种对象,比如文本框,这些对象用于输入或输出等操作。在程序运行时,表单是用户与应用程序之间进行交互的窗口,也就是说,在开发vfp程序时,一般都使用表单作为应用程序的界面。

    一。创建表单:

    方式一:单击"文件"→"新建",对话框中选"表单",在弹出的对话框中选"新建"表单,则系统弹出一个空白的表单。用户即可在这个空白的表单上进行设计。
    方式二:在项目管理器中,选中"表单",单击右侧的"新建"按钮,如图11


    方式三:在命令窗口中输入"create form 表单名"命令,一样可以打开表单设计器。

    二。表单设计器中的操作:

    1.选择表单控件:单击表单控件可以选择该控件;按住ctrl不松再单击多个表单控件,可同时选择多个表单控件。如果在表单设计器中拖动鼠标,在表单上画一个区域,则该区域内的所有控件都被选择。
    2.向表单中添加控件:单击表单控件工具栏中的控件,光标移至表单中该控件的位置,单击或拖动鼠标画出该控件大小后松开。
    3.移动表单中控件的位置:单击要移动位置的表单控件,拖动其到指定位置,或者单击选中该控件后,用方向键移动
    4.改变控件的大小:鼠标单击控件,控件四周出现黑色的小方块,再将指针指向小方块,待指针变成双箭头时拖动即可。
    5.删除控件:用鼠标单击选中控件,按delete键即可。
    6.复制控件:单击选中控件,按组合键ctrl+c复制,然后鼠标在目的地单击,按组合键ctrl+v粘贴。

    说明:复制控件时,控件内的代码被一起复制。这是一个很有用的操作,比如,我们做一个表单,里面需要很文本框控件,我们可以先做出来一个,其余的复制即可。

Visual FoxPro基础教程完整版

    三。表单的数据环境:

    表单中的数据环境是一个容器,用于设置表单中使用的表和视图以及表单所要求的表之间的关系。这些表和视图及表之间的关系都数据环境容器中的对象,可以分别设置它们的属性。在执行表单时,数据环境中的表和视图被自动打开,表之间的关系被自动建立。当表单被释放时,数据环境中设置的表和视图被自动关闭。

    1.数据环境的打开:右击表单空白处,选"数据环境"命令,如图1,

    此时会弹出一个对话框,如图2,


    我们选中"工资情况",单击"添加",再单击"关闭",即可打开"数据环境"容器,如图3.

    2.向数据环境中添加表或视图:在数据环境设计器中右击,选"添加"命令,如图4,

    我们在弹出的对话框中选中"职工档案",单击"添加",再单击"关闭",如图5,

    这样我们就把"职工档案"表也添加到表单的数据环境中了,添加后的数据环境如图6,

    即现在的数据环境中有两个表。

    3.在数据环境中移动表或视图:在数据环境设计器中单击选中要移动的表或视图,按右键,选"移动".

    4.在数据环境中设置关系:如果加入数据环境的表具有在数据库中设置的关系,则这些关系自动带入数据环境中。如果表之间没有关系,则可在数据环境中进行设置表之间的临时关系。若要在数据环境中设置临时关系,可从主表中拖动字段到相关表中相匹配的索引标识。在数据环境中设置了一个临时关系后,会在表之间出现一条连线来指示这个关系。例如,我们在数据环境中拖动"工资情况"表的"编号"字段到"职工档案"表的"bh1"索引标识上,即在这两个表之间建立了一个临时关系,如图7

    四。表单常用的属性:见下表:

属性
默认值
功能
caption
form1
指定表单标题栏显示的文本
name
form1
指定表单对象名,在程序设计中可以通过引用表单名来引用表单
borderstyle
3
决定表单边框:0-无边框,1-单线边框,2-固定对话框,3-可调边框
maxbutton
.T.
控制表单是否有最大化按钮
minbutton
.T.
控制表单是否有最小化按钮
windowstate
普通
控制表单是普通(0),最小化(1),最大化(2).如windowstate为2,则maxbutton和minbutton将不起作用.
alwaysontop
.F.
控制表单是否总是处在其它打开的窗口之上,即防止所引用的表单被其它表单所覆盖
autocenter
.F.
控制表单运行时是否自动在vfp主窗口居中
moveable
.T.
控制表单运行时,是否可移动表单到屏幕的新位置上
visible
.T.
指定表单在运行时是可见的还是隐藏的
closable
.T.
指定表单运行时,用户是否能够通过单击"关闭"按钮来退出表单
windowtype
无模式

控制表单是无模式还是模式表单

0-无模式,用户不必关闭表单就可方问其他界面

1-模式,用户必须关闭当前表单方可访问其他界面

五.表单的事件:表单的常用事件如下表:
事件
触发时间
activate
当一个表单变成活动表单时触发
deactivate
表单从活动变成不活动时触发
init
当表单第一次创建时触发,一般将表单的初始化代码放在其中
load
创建表单前触发,事件发生在init事件之前.因为此时表单中的控件尚未建立,所以该事件的代码不能用于处理表单中的控件,但可用来打开数据库和表等
unload
释放表单是触发,该事件发生在destroy事件之后
click
在鼠标单击表单时触发
dbclick
在鼠标双击表单时触发
destroy
当释放表单时触发
error
当方法中有一个运行错误时触发

    七。表单文件的执行和关闭:

    1.执行表单文件:

    (1).在表单设计器中执行表单:按右键,在快捷菜单中选择"执行表单",或在表单菜单中选择"执行表单"菜单项
    (2).在项目管理器中执行表单:在项目管理器中选中表单名,单击右侧的"运行"按钮
    (3).在在程序中调用执行:在表单设计器中直接执行表单用于系统开发阶段的调试工作,实际应用中,表单一般通过程序代码调用执行,调用命令如下:

    格式:do form 表单文件名 [name 表单名] [with 参数表] [to 变量名]

    说明:

    Ⅰ。name表单名指定执行表单的名字,以后引用该表单时使用这个名字
    Ⅱ。with参数表用于向表单的init事件代码传递参数。如果执行的是表单集,要求表单集的windowtype为0(无模式)或(1模式),参数表用于向表单集的init事件传递代码
    Ⅲ。to 变量名接收表单unload事件的return语句的返回值,但要求表单的windowtype为1(模式)

    2.激活事件处理:
    格式:read events
    说明:只有执行了read events,vfp才启动事件处理。当执行clear events后,系统停止事件处理

    3.关闭表单:
    格式:表单引用名。release
    例如:thisform.release用于关闭当前表单

生活不易,码农辛苦
如果您觉得本网站对您的学习有所帮助,可以手机扫描二维码进行捐赠
程序员人生
------分隔线----------------------------
分享到:
------分隔线----------------------------
关闭
程序员人生