首先来说一些页面模板文件。这个过程也是PRADO应用开发的过程。首先在页面模板中组合PRADO组件,然后就可以测试一下这个页面的显示样子,最后编写页面类文件中需要的代码。这是一个典型的RAD(快速应用开发)的开发过程。
这个模板文件的位置是 examples/hangman/HomePage.tpl .
可以看到这个模板被分成4个组件startPanel, guessPanel, winPanel, 和losePanel ;他们将根据游戏的状态来决定是否可视。
在 startPanel中,使用了三个 TRadioButton 组件让用户可以选择游戏的难度。TButton 的OnClick 事件指定了一个响应函数onSelectLevel ,当用户选择难度后点击了按钮就会被触发。如果用户没有选择难度,TLabel 组件会显示一个错误提示信息。
在 guessPanel中,三个表达式标签用于显示页面的 GuessWord, Misses,和 Level 属性。 同时还有一系列的TLinkButton 组件来显示字母A到Z,它们用于让用户点击选择猜哪一个字母。不管是猜对了还是猜错了,以后这个字母就不允许再被点击了。注意,所有的这些TLinkButton 组件都有同样的一个事件OnClick 的响应函数onGuessWord 。
winPanel 和 losePanel 会显示成功和错误的信息。如果用户点击了面板上的TLinkButton ,OnClick 事件的响应函数onStartAgain 会被触发。
3.2 HomePage.spec
这个页面规格文件在 examples/hangman/HomePage.spec。它很简单,就是定义了4个页面的属性: Misses, Level, GuessWord 和 Word .
3.3 HomePage.php
这个页面类文件在 examples/hangman/HomePage.php .
页面类 HomePage 继承了框架提供的 TPage 类。
getter和setter函数用来定义页面属性。注意: getViewState() 和 setViewState() 函数被调用了,用来返回和保持属性的数据。这两个函数在TPage 的父类TComponent 中实现。它们是显示状态机制的主要代码。保存在显示状态中的数据在页
| 对此文章发表了评论 |
