4.3 画面树结构
在上一节介绍的按钮中,其缺省功能便是可以用来切换所调用的画面,因而从简单逻辑出发,我们只需要在每个画面中都设计一组按钮,每个按钮负责指向一个特定的画面,就可以随意组织画面间的跳转了。
这种方式很常见,但毫不客气地说,很幼稚。那是一种效率极其低下,极容易出错的工作方式。即便在入门阶段,都不希望学习者用那种落后的方式做设计。
正确的,或者说给读者推荐的是:充分利用画面窗口。
在对象选项板中的智能对象下面,有一个画面窗口,它其实既可以作为静态对象,也可以作为动态对象,但在前面两节中都未介绍,其实是留在这里了。
将一个画面窗口加入到画面中,其对象属性窗口如图4-39所示。
图4-39 画面窗口
画面窗口最重要的属性当然是画面名称了,可以在这里给指定所调用的另一个画面pdl文件。如果从此以后静态不变了,那窗口就作为画面中的一部分静态内容嵌入其中了。而如果以后还要绑定动态,那么这里指定的画面就是作为窗口的初始画面了。
本图中的其他一些属性也都很重要,修改后可以改变窗口的样式,搭配使用,总有一款适合你。
窗口可以做的用处很多,大小尺寸也很不一样。比如有时可以作为弹出式窗口,只在操作中跳出提示,一般就很小。而在本节中用作画面管理,就会把尺寸画得足够大,只需侧边或底部留一点点空间给导航栏,见图4-40。
图4-40 窗口布局
导航栏设计在左侧、右侧、上部或下部皆可,取决于用户的习惯。
为按钮增加跳转画面的动作,见图4-41。
图4-41 直接连接
这里的SW即窗口画面对象的名字,像这种重要对象,还是给起个正式的、简短的名字比较好。养成这样的习惯,以后要编写程序调用的时候,也比较省事。
从上面的布局图可以看出,如果导航区域放在左侧,大致可以容纳10多个画面的按钮。如果再多,更复杂的系统呢?可以把导航区域也用画面窗口来实现,用多个画面切换,或者滚动条来实现都可。
比如放开画面窗口的滚动条属性,可以得到如图4-42所示的效果。
图4-42 运行效果