欢迎来到天天文库
浏览记录
ID:38299678
大小:526.81 KB
页数:41页
时间:2019-06-08
《表单集与多重表单》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第9章表单集与多重表单9.1表单集创建表单集表单集的应用9.2多重表单表单的类型主从表单之间的参数传递隐藏VisualFoxPro主窗口大多数的应用程序都有不同的用户界面,这样就有必要介绍多个表单的使用。如果在程序中同时出现的表单之间存在频繁的信息交流,可以使用“表单集”来组织表单。如果表单之间存在调用关系,可以利用“多重表单”。9.1表单集表单集有以下优点:①可同时显示或隐藏表单集中的全部表单。②可以可视的调整多个表单以控制它们的相对位置。③因为表单集中所有表单都是在单个.scx文件中用单独的数据环境定义的,可自动地同步改变多个
2、表单中的记录指针。如果在一个表单的父表中改变记录指针,另一个表单中子表的记录指针则被更新和显示。如果需要将多个表单处理为表单组,可创建表单集。运行表单集时,将加载表单集所有表单和表单的所有对象。加载带着很多控件的多个表单将会花费几秒钟的时间。表单集是在“表单设计器”中创建的。无论是建立一个新表单还是打开已有的表单,进入“表单设计器”后,从主菜单中,选择“表单”菜单中的“创建表单集”,即可创建一个新的表单集FormSet1,如图所示。9.1.1创建表单集表单集是一个包含有一个或多个表单的父层次的容器,该容器不可见。创建表单集以后,该
3、表单集包含原有的一个表单,可以向表单集中添加新的表单或删除表单。如下图所示。若要向表单集中添加新的表单,可以从主菜单的“表单”栏中,选择“添加新表单”。若要从表单集中删除表单,可以:第1步:在“属性”窗口对象列表框中,选定要删除的表单。第2步:从主菜单的“表单”栏中选择“移除表单”。如果表单集中只有一个表单,则无法删除表单,只可删除表单集而只剩下单个的表单。若要删除表单集,可以从主菜单的“表单”栏中选择“移除表单集”。例9-1使用表单集设计的电子标题板程序(如图)。创建表单集:在主菜单中选择“表单”中的“创建表单集”,创建一个包含
4、原有“控制”表单的表单集FormSet1。然后再在“表单”菜单中选择“添加新表单”,表单设计器中出现第二个表单(Form2)。在Form2中增加一个标签Label1和一个计时器Timer1。9.1.2表单集的应用为表单集创建自定义方法Yidong(),实现斜向移动,其代码为:DOCASECASETHIS.Tag=“1”&&用MOVE方法将图片向上向左移动20线THIS.Form2.Label1.Move(THIS.Form2.;Label1.Left–3,THIS.Form2.Label1.Top–3)IFTHIS.Form2.
5、Label1.Left<=0THIS.Tag=“2”&&如果图片到达窗体左边界,向上向右移动ELSEIFTHIS.Form2.Label1.Top<=0THIS.Tag=“4”&&如果图片到达窗体顶端,向下向左移动ENDIFENDIFCASETHIS.Tag=“2"&&将图片向上向右移动20线THIS.Form2.Label1.Move(THIS.Form2.;Label1.Left+3,THIS.Form2.Label1.Top–3)IFTHIS.Form2.Label1.Left>=(THIS.Form2.;Width–TH
6、IS.Form2.Label1.Width)THIS.Tag=“1”&&如果图片到达窗体右边界,向上向左移动;程序通过窗体宽度减去图片宽度获得窗体右边界ELSEIFTHIS.Form2.Label1.Top<=0THIS.Tag=“3”&&如果图片到达窗体顶端,向下向右移动ENDIFENDIFCASETHIS.Tag=“3”&&向下向右移动20线THIS.Form2.Label1.Move(THIS.Form2.Label1.Left+3,THIS.Form2.Label1.Top+3)IFTHIS.Form2.Label1.L
7、eft>=(THIS.Form2.;Width-THIS.Form2.Label1.Width)THIS.Tag=“4”&&如果图片到达窗体右边界,向下向左移动ELSEIFTHIS.Form2.Label1.Top>=(THIS.Form2.;Height–THIS.Form2.Label1.Height)THIS.Tag=“2”&&如果图片到达窗体底端,向上向右移动,程序通过窗体高度减去图片高度并减去主题条和菜单条占的680线决定窗口底端ENDIFENDIFCASETHIS.Tag="4"&&向下向左移动20线THIS.For
8、m2.Label1.Move(THIS.Form2.;Label1.Left–3,THIS.Form2.Label1.Top+3)IFTHIS.Form2.Label1.Left<=0THIS.Tag="3"&&如果图片到达窗体左边界,向下向右移
此文档下载收益归作者所有