关于Intraweb的几点总结

1、可以添加JavaScript事件代码的组件及其注意事项

IntraWeb版本:5.0

       不难发现,IntraWeb的标准组件大多提供了服务器端运行的事件,如TIWButton就提供了OnClick事件。然而,如果在这样的事件中处理逻辑,会引发页面的刷新,即不必要的服务器。当不需要与服务器端交互时,我们就可以用到一些组件的ScriptEvents属性,添加自定义的JavaScript来处理这样的事件,而不刷新页面。

1)  提供了ScriptEvents属性的标准组件。

注:下面给出的组件列表基于IntraWeb 5 for Delphi7

TIWButtonTIWCheckBoxTIWComboBoxTIWEditTIWFileTIWImageTIWImageFileTIWListBoxTIWLinkTIWMemoTIWUrl

2)  2点要注意的

第一, Sender参数的应用。

JavaScript事件的处理函数,均通过参数ASender来指代触发事件的页面组件对象。所以在书写的JavaScript代码中要访问该对象时,就要用到ASender了。

第二, 对页面组件的引用。

如果要在JavaScript中用到页面中组件,不能像Delphi中直接通过名称来访问,而需通过下面的方式:

document.getElementById(“[组件名称]”)

也就是说,在执行时,组件会被翻译成id属性为设计期给定的组件名称的HTML元素,且在HTML中组件名称都是大写。

但也有例外,如TIWRegion,你在HTML代码中是找不到以它的名称命名的页面元素的,事实上,TIWRegionTIWRectangle都是被翻译成Table的,而TIWRegion对象,则是按顺序被翻译成“TIWRECTANGLE[序号]”,如我们在设计期的窗体上放置3TIWRegion组件,分别命名为“iwrSample1”,“iwrSample2”和“iwrSample3”,则它们在HTML代码中就变成了下面的样子:

<table id="TIWRECTANGLE1">

  <tr>

    <td></td>

  </tr>

</table>

<table id="TIWRECTANGLE2">

  <tr>

    <td></td>

  </tr>

</table>

<table id="TIWRECTANGLE3">

  <tr>

    <td></td>

  </tr>

</table>

2、对bnPYSse《Intraweb学习笔记》中提到的“模板文件”问题的补充

谈到Intraweb,bnPYSse的《学习笔记》在网上比较“出名”,下面是对他提到的模板文件问题的一点补充。

IntraWeb版本:5.0

       bnPYSse提到,模板文件的名称必须与窗体名称相同且扩展名必须为“.html”,这是欠妥的。因为我们应用模板文件必须通过TIWTemplateProcessorHTML,而该组件的属性Templates就提供了灵活配置模板文件的途径,该属性有3个分项:

       Default-默认模板的名称

IE-IE浏览器下模板的名称

Netscape6-Netscape6浏览器下模板的名称

       由此可见,IntraWeb不但提供了自定义模板名称的方法,而且还提供了适应不同浏览器的途径。当然,如果不对该属性进行设置的话,bnPYSse说法还是正确的。

       另外,关于模板文件的标签,对于TIWRegion对象,在模板文件中是无法自动解析的。需要通过TIWTemplateProcessorHTMLOnUnknownTag事件来处理。

3TreeView的问题

IntraWeb版本:5.0

       5.0版本的TIWTreeView存在下面几点缺陷:

1)  刷新问题:节点单击总要刷新页面,不提供客户端JavaScript事件的处理,且刷新后不保留树的状态,如本来合起来的节点,会再一次打开。

2)  大小问题:当页面大小改变时,树的工作空间不会改变,即使设定了Anchors属性。

注:这些问题在最新版本(9.0)的IntraWeb中都得到了解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值