窗体

TIWAppForm 所在单元及继承链:
IWAppForm.TIWAppForm

主要成员:


property OnURLRequest: TOnURLRequest //响应下面的 DoURLRequest 方法

procedure DoURLRequest(aRequest: THttpRequest) //执行 OnURLRequest 事件; 如: DoURLRequest(WebApplication.Request);
function MessageForm: TIWMessageFormClass //函数获取个类而不是对象; 它是个虚函数, 或许是为了在继承时美化弹出窗口
class procedure SetAsMainForm //设置为主窗口; 须用在 initialization 区
class procedure SetURL(const aPath: string; const aDocument: string) //设置虚拟地址
class function RequestAuth(aRequest: THttpRequest; var rGroup: string): Boolean //安全判断; 它是虚函数, 可以继承并增加安全条件

TIWForm 所在单元及继承链:
IWForm.TIWForm
{TIWForm = class(TIWBaseHTMLForm, IIWHTML40Container, IIWHTML40Form) //它同时实现了两个接口}

主要成员:


property ActiveControl: TIWCustomControl //当前被激活的控件
property Background: TIWBackground //背景图像设置
property LayoutMgr: TIWContainerLayout //指定布局管理器
property HandleTabs: Boolean //暂未使用
property LeftToRight: Boolean //文字方向
property LockUntilLoaded: Boolean //在加载完毕前是否禁止操作, 默认 True
property LockOnSubmit: Boolean //是否禁止重复提交, 默认 True
property StyleSheet: TIWFileReference //要使用的 CSS 文件; 文件须在 wwwroot 下(或嵌套)
property ShowHint //
property ServerOnResize: Boolean //暂未使用; only write
property ProgressIndicator: TIWProgressIndicator //指定进度提示器
property Theme: string //暂未使用
property XPTheme: Boolean //
property JavaScript: TStringList //js 代码
property DocType: string //现在默认 ; 譬如可以指定为:
property KeepAlive: Boolean //保持激活, 以保证 Session 不过期; 应该是用在异步事件用时较长时, 但要慎用, 它会把 SessionTimeout 弄成四百多天; 默认 False; property OnDefaultAction: TNotifyEvent //默认事件; 譬如在 TIWEdit 编辑后回车, 如果没有给它写 OnSubmit 事件, 将执行默认事件
property OnResize; //在 ServerOnResize 暂时弃用的情况下, 它只执行一次 constructor Create(aOwner: TComponent); override;
procedure AddToInitProc(const ACode: string); //添加用于初始化的 js 代码
procedure DoDefaultAction; //执行一次 OnDefaultAction procedure SetIWAJAXNotifier(aIWAJAXNotifier: TIWBaseHTML40Component); //TIWAJAXNotifier 就是调用它和下面的 SendAJAXNotification, 感觉直接调用它们应该比 TIWAJAXNotifier 控件更灵活.
function SendAJAXNotification: Boolean; //
function GetIWAJAXNotificationJSCode: string; //
function GetIsStrictMode: Boolean; //好像是判断是不是 IE 兼容模式
class function FindParentForm(Control: TControl): TIWForm;
property PageContext: TIWPageContext40; //该对象有更多页面相关的操作; only read
property ContainerContext: TIWContainerContext //该对象有更多容器相关的操作
property JavaScriptOnce: string //只执行一次的 js 代码
property CacheFiles: TStrings //缓存文件列表; only read

TIWBaseHTMLForm 所在单元及继承链:
IWBaseHTMLForm.TIWBaseHTMLForm

主要成员:


property BGColor: TIWColor    //背景色
property LinkColor: TIWColor //链接色
property TextColor: TIWColor //普通文本色
property VLinkColor: TIWColor //访问过的链接色

TIWBaseForm 所在单元及继承链:
IWBaseForm.TIWBaseForm

主要成员:


property FormAction: string  //对应 Html Form 的 action 属性
property Params: TStringList //参数列表, 有点类似 WebApplication.Request.ContentFields, 但后者更全; only read
property Released: Boolean //是否执行过 Release, 但执行过后很快就 Free 了, 这个属性没多少意义; only read
property WebApplication: TIWApplication //only read
property FormState: TIWFormState //当前状态: fsUndefined, fsRendering, fsExecuting, fsCreating, fsCreated; only read
property ExecCount: Cardinal //命令执行次数; only read
property AllowPageAccess: Boolean //好像也未使用
property ConnectionMode: TIWConnectionMode //读取连接模式: cmAny, cmSecure, cmNonSecure
property PreHeader: TStringList //插入到 Head 靠前的内容
property ExtraHeader: TStringList //插入到 Head 靠后的内容
property ContentFiles: TStringList //包含 js、css
property HiddenFields: TStringList //隐藏字段
property Title: string //网页标题
property PreventBackButton: Boolean //是否禁用后退按钮; 默认 False property OnAfterRender: TNotifyEvent //呈现后, 发生在 OnCreate > OnRender 之后
property OnCreate: TNotifyEvent
property OnDestroy: TNotifyEvent procedure Hide //
procedure Show //
procedure Release //释放; 它会先把窗体添加到 WebApplicaiton 内部的列表(FReleasedForms)中, 同时 Hide 掉; 等新的 ActiveForm 就绪后再 Free
procedure ReleaseAndRedirect(const aUrl: string) //释放并转向
class function TextToHTMLStringLiteral(const AText: string): string; //在 Html 中有些字符需要转码, 用这个函数很方便

示例:


//待续...

使用 IntraWeb (38) - TIWAppForm、TIWForm、TIWBaseHTMLForm、TIWBaseForm的更多相关文章

  1. IntraWeb XIV 类型速查表

    tkClass ================== IWUserSessionBase.TIWUserSessionBase < TDataModule < TComponent < ...

  2. 使用 IntraWeb (3) - 页面切换

    新建 StandAlone Application 工程后, 再通过 File > New > Other.. > IntraWeb > New Form 添加两个窗体. 然后 ...

  3. 使用 IntraWeb (45) - 活用 IntraWeb

    asp.net 刚开始时, 也是拖拉控件, 但后来有了 MVC.xNext. 换个思路使用 IntraWeb 吧: 界面全部用 html+js+css 实现(有些会是用 Delphi 动态生成), 然 ...

  4. 使用 IntraWeb (39) - THttpRequest、THttpReply

    在其它服务器脚本语言中熟悉的 Request.Response(THttpRequest.THttpReply) 在 IntraWeb 中算是幕后英雄了, 用户基本不需要直接操作它们了. IW 默认 ...

  5. 使用 IntraWeb (32) - Url 映射与 THandlers

    最简单的 Url 映射是使用 TIWAppForm 的 class 方法: SetURL; THandlers 是 IntraWeb XIV 新增的内容处理器, 它能完成的不仅仅是 Url 映射(转发 ...

  6. 使用 IntraWeb (2) - Hello IntraWeb

    IntraWeb 比我相像中的更贴近 VCL, 传统的非可视组件在这里大都可用(其内部很多复合属性是 TStringList 类型的), 它的诸多可视控件也是从 TControl 继承下来的. 这或许 ...

  7. 转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38

    转:ORA-15186: ASMLIB error function = [asm_open], error = [1], 2009-05-24 13:57:38http://space.itpub. ...

  8. CSharpGL(38)带初始数据创建Vertex Buffer Object的情形汇总

    CSharpGL(38)带初始数据创建Vertex Buffer Object的情形汇总 开始 总的来说,OpenGL应用开发者会遇到为如下三种数据创建Vertex Buffer Object的情形: ...

  9. C#开发微信门户及应用(38)--微信摇一摇红包功能

    摇一摇周边红包接口是为线下商户提供的发红包功能.用户可以在商家门店等线下场所通过摇一摇周边领取商家发放的红包.我曾经在<C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实 ...

随机推荐

  1. Mysql 自定义HASH索引带来的巨大性能提升----[挖坑篇]

    有这样一个业务场景,需要在2个表里比较存在于A表,不存在于B表的数据.表结构如下: T_SETTINGS_BACKUP | CREATE TABLE `T_SETTINGS_BACKUP` ( `FI ...

  2. H5课程大纲

    K1模块课程: 课程模块 课程阶段 课程内容 K1 模块 第1阶段 认识前端开发 环境配置.使用标签的分类.写法及使用规范CSS样式的使用.各类常见样式Photoshop使用16大常用样式盒模型.语义 ...

  3. LINUX下动态库及版本号控制

    针对同一动态组件的不同版本链接和加载. 一.概念                  DLL HELL字面意思是DLL"灾难",是由于com组件(动态库)升级引起的程序不能运行的情况 ...

  4. 框架--NoHttp和OkHttp哪个好用,Volley和NoHttp哪个好用?

    NoHttp和OkHttp哪个好用,Volley和NoHttp哪个好用? NoHttp 源码及Demo托管在Github欢迎大家Star: https://github.com/Y0LANDA/NoH ...

  5. PRD

  6. Aspose.Cells 设置背景颜色

    很多小伙伴设置背景颜色都不起作用,特别提醒需要加入下面一行: style.Pattern = BackgroundType.Solid; Aspose.Cells.Style style = null ...

  7. java堆内存和栈内存的处理

    前段时间学习二叉树在处理删除操作的时候遇到一个头疼的问题:删除节点的时候明明已经置null了可树上该节点依旧存在,还必须执行node.father.left = null;才可以删除node节点,寻找 ...

  8. openldap权限sudo

    http://pig.made-it.com/ldap-sudoers.html https://www.lisenet.com/2015/convert-openldap-schema-to-ldi ...

  9. C++学习基础十——子类构造函数与析构函数的执行

    1.子类构造函数的执行: 先执行父类的构造函数,再执行成员对象的构造函数,最后执行自身的构造函数. 当继承多个类时,构造函数的 执行顺序与继承时的顺序 相同,而与子类构造函数调用父类构造函数的顺序无关 ...

  10. 在php中写接口时 对json格式的转换 简单的方法

    方法 一 方法二 可以通过urlencode();遍历出来