图21.4 例程IWTwoForms使用的表格组件嵌入文本和IWURL组件
第三,也是最值得研究的是IWGrid组件转换成了带框架和不带框架的HTML表格。这是表格中的一行HTML代码片断:
<tr> <td valign="middle" align="left" NOWRAP> <font style="font-size:10pt;">Row 2</font> </td> <td valign="middle" align="left" NOWRAP><font style="font-size:10pt;">IWTwoForms by Marco Cantù</font>
</td> <td valign="middle" align="left" NOWRAP> <font style="font-size:10pt;"></font> <a href="#" onclick="parent.LoadURL(''''http://www.marcocantu.com'''')" id="TIWURL1" name="TIWURL1" style="z-index:100;font-style:normal;font-size:10pt;text-decoration:none;"> Click here</a> </td></tr>提示:在上面的代码清单中,我们注意到URL是通过JavaScript来激活链接的,而不是直接的超链接。由于IntraWeb允许客户端所有动作,比如确认、检查和提交,而这些动作都依赖于JavaScript。例如,如果你把一个组件的Required设成true,则该组件如果没有任何数据就不能提交,此时如果提交将会看到一个JavaScript错误信息(使用组件的FriendlyName属性来定制的消息框)。
本例的核心特性是它显示第二个页面的能力。为了实现这一点,首先需要给程序添加一个IntraWeb页,方法是单击File->New->Other…,启动Delphi的New Items对话框,翻到IntraWeb页,选择Application Form,单击“Ok”按钮完成添加工作。接着向该窗体上放一些组件,然后在主窗口中放置一个按钮或其他控件用来显示第二个窗体:
procedure TformMain.btnShowGraphicClick(Sender: TObject);
begin anotherform := TAnotherForm.Create(WebApplication); anotherform.Show;end;
即使程序调用了Show方法,也会被看成是调用了ShowModal。这是因为IntraWeb把页面当成堆栈来处理。最后显示的页面在栈顶,同时显示在浏览器上。如果关闭该页(隐藏或销毁),就会显示该页的前一页。在本例中,第二页的关闭是通过调用Release方法,该方法在VCL程序中是结束正在运行的窗体的恰当方法。你也可以隐藏第二个窗体然后再显示它从而避免每次都重建窗体的实例。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




