博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用 IntraWeb (3) - 页面切换
阅读量:5927 次
发布时间:2019-06-19

本文共 1623 字,大约阅读时间需要 5 分钟。

新建 StandAlone Application 工程后, 再通过 File > New > Other.. > IntraWeb > New Form 添加两个窗体.
然后 TIWForm1 上放两个 TIWButton, 在 TIWForm2 和 TIWForm3 上各放一个 TIWButton. 测试代码用到三个窗体的 OnCreate 和每个按钮的 OnClick 事件.

Unit1 中的代码:

uses ServerController, Unit2, Unit3;procedure TIWForm1.IWAppFormCreate(Sender: TObject);begin  IWServerController.HistoryEnabled := True; //使浏览器后退、前进按钮有效  IWButton1.Caption := 'IWForm2';  IWButton2.Caption := 'IWForm3';end;procedure TIWForm1.IWButton1Click(Sender: TObject);begin  TIWForm2.Create(WebApplication).Show; //建立并显示 TIWForm2; 执行后 WebApplication.ActiveForm 就从 TIWForm1 变为 TIWForm2end;procedure TIWForm1.IWButton2Click(Sender: TObject);begin  TIWForm3.Create(WebApplication).Show; //end;initialization  TIWForm1.SetAsMainForm; //这是 TIWAppForm 的 Class 方法; 其作用是建立并设置当前窗口为主窗口(其实在 IW 中只有 ActiveForm, 无所谓 MainForm )                          //当然也同样设置其他窗体是首先被激活的窗体

Unit2 中的代码:

procedure TIWForm2.IWAppFormCreate(Sender: TObject);begin  IWButton1.Caption := Name; //只是用不同的标题区别一下end;procedure TIWForm2.IWButton1Click(Sender: TObject);begin  Release; //释放后, TIWForm1 就出来了, 达到了返回的目的           //为什么 IW 提倡使用 Release 而不是通常的 Free 呢?           //我经过测试发现, Release 和 Free 是有区别的; 官方资料中介绍: IWApp;ication 内部还维护着一个 FReleasedForms 列表.end;

Unit3 中的代码:

procedure TIWForm3.IWAppFormCreate(Sender: TObject);begin  IWButton1.Caption := Name;end;procedure TIWForm3.IWButton1Click(Sender: TObject);begin  Release;end;

还有一个问题, 在这里我们并没有引用 IWInit, 代码中的 WebApplication 是哪来的呢? 原来 TIWBaseForm(TIWAppForm < TIWForm < TIWBaseHTMLForm < TIWBaseForm)也提供了 WebApplication.
经测试, 两个 WebApplication 都指向了同一个 TIWApplication 对象, 挺方便的.
感觉 IW 比传统的 VCL 更巧妙些.

转载地址:http://ethvx.baihongyu.com/

你可能感兴趣的文章
批量照片缩小器展示多线程控件BackgroundWorker后台工作使用方法
查看>>
《CLR via C#》读书笔记 之 类型基础
查看>>
PowerMock注解PowerMockIgnore的使用方法
查看>>
ORM框架Hibernate (一) 对DAO封装和抽象
查看>>
HTTP协议详解
查看>>
禁止ie缓存
查看>>
前端代码异常日志收集与监控
查看>>
oracle 查看并行sql语句的并行数量和如何开并行
查看>>
CSS颜色模式转换器的实现
查看>>
json格式数据 ,将数据库中查询的结果转换为json(方式2)
查看>>
umeng社交分享最新版5.0的跨进程使用崩溃的问题及解法-Android
查看>>
mock带参数的构造函数
查看>>
基于EM的多直线拟合实现及思考
查看>>
19 款仿 Bootstrap 后台管理主题免费下载
查看>>
php读取ini(init)文件
查看>>
嵌入式开发之hi3519--- pcie dma和dma cache 缓存更新sync memery
查看>>
git远程库与本地联系报错fatal: Not a git repository (or any of the parent directories): .git...
查看>>
linux命令useradd添加用户详解
查看>>
ASP.NET中Get和Post的用法 Request.QueryString,Request.Form,Request.Params的区别 [转]
查看>>
美国防部将出网络安全策略 官员称不具攻击性
查看>>