vfp连编中的一些问题.doc
文本预览下载声明
VFP如何改变表单设计器我是个新手,哪位大侠能指点一下。如何改变表单设计器白色的表单布局窗口的大小。我做的表单比较大,在设计器里只能看见一部分。打开vfp主菜单:工具选项,在选项窗口里选择“表单”页,找到最大设计区,选择需要的如:1280*1024.
vfp主程序执行重新连编项目时没有错误,可是要联编成exe文件时,会提示连编程序名.app文件时出错,这是为什么?还有我做了一个主界面的表单,可是执行完以后却不能执行以后的程序了,是不是缺少什么命令了?
本文所提表单窗口属性,是指那些不但影响表单本身的特征(例如长宽等),而且对表单之外、项目之中的其它元件有影响的表单属性,它们包括如下三个:
属性 意义 可选值(黑体为默认值)
DeskTop 指定表单是否包含在VFP主窗口中 F./.T.
WindowType 指定表单对象运行时的动作 0-无模式/1-模式
ShowWindow 指定在创建过程中表单窗口显示表单或工具栏 0-在屏幕中/1-在顶层表单中/3-做为顶层表单
下面针对上述表单属性以及VFP中桌面(DeskTop)、屏幕(Screen)、表单(Form)等概念谈一谈我的理解。正因为VFP在此方面的设计混乱,也就决定了我不能系统地、有条理地分析这些问题,我做的只能是阐述一些事实。
1.表单是一个对象,外观表现上是一个窗口。VFP的主窗口也可以说是一个表单对象,它有一个固定的名字叫_Screen,_Screen是一个特殊的表单对象;
2.ShowWindow是规定表单在显示方面的从属关系的属性 ShowWindow属性实际上仅有两种选择:作为顶层表单与在顶层表单中。为了表达方便,我们把具有前者属性值的表单称为顶层表单,后者称为从属表单。二者在显示方面的不同地位是:顶层表单在Windows任务栏上有一席之地,从属表单却没有这种待遇;顶层表单最小化时,从属表单随之被隐藏,当顶层表单关闭后,从属表单随之关闭。 ShowWindow的第三种选择在屏幕中(默认)仅是在顶层表单中的一个特例,即为在_Screen这个特定的顶层表单中之意,选择此种属性值时,它一定是个从属表单了。_Screen具有顶层表单的一切显示特征。
从属表单不能独立地被显示,必须与他的主表单一起显示,这个主表单要么是一个顶层表单要么是VFP的窗口(_Screen)。不需要为一个从属表单指定一个主表单,从属表单打开时,自动选择当前的活动顶层表单作为其主表单,当然,如果选择了在屏幕中,则这个从属表单自然就以_Screen为其主表单了。
3.DeskTop是规定表单在显示方面的活动范围的属性。
DeskTop仅对从属表单有意义,当从属表单的DeskTop=.f.时,它只能显示在它的顶层表单的尺寸之内,当这个顶层表单的尺寸比它的尺寸还小时,它将会被部分地遮住;当从属表单的DeskTop=.t.时,它的活动范围将不受它的顶层表单尺寸的限制,它可以显示在电脑屏幕的任何地方甚至之外。但不管它的位置离其顶层表单多远,一旦顶层表单最小化了,它会立即顺从地从电脑屏幕上消失。
4.ShowWindows是规定表单被执行时的程序动作的属性
分两种情况:
(1)当表单的ShowWindow为在屏幕中和在顶层表单中时: a.当WindowType=模式时,执行表单(DO FORM)后使得表单取得焦点,并且一直到它被关闭,在此期间,它的父窗口对象(可能是_Screen或一个顶层表单)的菜单系统及其所属的子表单都不能用。就是说,在表单存在期间,它将一直霸占着焦点. b.当WindowType=无模式时,表单存在期间不会霸占焦点。有一个例外,当DeskTop=.t.时,执行它时会使系统菜单失效,而DeskTop=.f.时则不会。
(2)当表单的ShowWindow为做为顶层表单时: 表单的WindowType属性不管是有模式还是无模式,都不会霸占焦点。
5.一般情况,用户的应用系统需要一个主表单(主窗口),您可以将_Screen作为这个主窗口,也可以将项目中的某个顶层表单做为主窗口,很难说那种更好。但在此笔者建议使用VFP主窗口做为用户系统的主窗口,这样可能会省去一些麻烦,因为VFP的很多工具条窗口被设计成只能开在_Screen中,例如在打印预览工具条等。
程序编译成EXE后,前者启动时先显示VFP主窗口,后者直接显示程序员自己设计的顶层表单。对于后者,为屏蔽VFP主窗口,一定要在Config.fpw写入Screen=off(Config.
显示全部