使用 IntraWeb (38) - TIWAppForm、TIWForm、TIWBaseHTMLForm、TIWBaseForm
窗体
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的更多相关文章
- IntraWeb XIV 类型速查表
tkClass ================== IWUserSessionBase.TIWUserSessionBase < TDataModule < TComponent < ...
- 使用 IntraWeb (3) - 页面切换
新建 StandAlone Application 工程后, 再通过 File > New > Other.. > IntraWeb > New Form 添加两个窗体. 然后 ...
- 使用 IntraWeb (45) - 活用 IntraWeb
asp.net 刚开始时, 也是拖拉控件, 但后来有了 MVC.xNext. 换个思路使用 IntraWeb 吧: 界面全部用 html+js+css 实现(有些会是用 Delphi 动态生成), 然 ...
- 使用 IntraWeb (39) - THttpRequest、THttpReply
在其它服务器脚本语言中熟悉的 Request.Response(THttpRequest.THttpReply) 在 IntraWeb 中算是幕后英雄了, 用户基本不需要直接操作它们了. IW 默认 ...
- 使用 IntraWeb (32) - Url 映射与 THandlers
最简单的 Url 映射是使用 TIWAppForm 的 class 方法: SetURL; THandlers 是 IntraWeb XIV 新增的内容处理器, 它能完成的不仅仅是 Url 映射(转发 ...
- 使用 IntraWeb (2) - Hello IntraWeb
IntraWeb 比我相像中的更贴近 VCL, 传统的非可视组件在这里大都可用(其内部很多复合属性是 TStringList 类型的), 它的诸多可视控件也是从 TControl 继承下来的. 这或许 ...
- 转: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. ...
- CSharpGL(38)带初始数据创建Vertex Buffer Object的情形汇总
CSharpGL(38)带初始数据创建Vertex Buffer Object的情形汇总 开始 总的来说,OpenGL应用开发者会遇到为如下三种数据创建Vertex Buffer Object的情形: ...
- C#开发微信门户及应用(38)--微信摇一摇红包功能
摇一摇周边红包接口是为线下商户提供的发红包功能.用户可以在商家门店等线下场所通过摇一摇周边领取商家发放的红包.我曾经在<C#开发微信门户及应用(28)--微信“摇一摇·周边”功能的使用和接口的实 ...
随机推荐
- 北京VR视频外包团队:全景VR视频科普
近期很多用户资讯问关于全景视频,这里动点给大家介绍一下: 首先,全景360VR视频(全景视频使用VR设备控制)是一种特殊的视频形式,与普通视频的最大区别就是,全景视频的每一帧都是涵盖360度空间场景信 ...
- 【uTenux实验】内存池管理(固定内存池和可变内存池)
1.固定内存池管理实验 内存管理是操作系统的一个基础功能.uTenux的内存池管理函数提供了基于软件的内存池管理和内存块分配管理.uTenux的内存池有固定大小的内存池和大小可变的内存池之分,它们被看 ...
- python分布式任务调度Celery
Celery是Python开发的分布式任务调度模块,今天抽空看了一下,果然接口简单,开发容易,5分钟就写出了一个异步发送邮件的服务. Celery本身不含消息服务,它使用第三方消息服务来传递任务,目前 ...
- python 向上取整ceil 向下取整floor 四舍五入round
#encoding:utf-8 import math #向上取整 http://www.manongjc.com/article/1335.html print "math.ceil--- ...
- OS X 禁止Android File Transfer自动启动
操作步骤 关闭Android File Manager 在Activity Manager中退出Android File Manager Agent进程 在Applications中,将Android ...
- [Appium] 使用Appium过程中遇到的各种坑
以下问题都是以ios为背景: 1. 问题: Case: 在页面S1上,点击元素A后,判读B元素是否出现. Detail:一开始通过Appium Inspector, 可以找到B元素,所以直接取该元素的 ...
- java文件保存至服务器
import java.io.ByteArrayOutputStream;import java.io.File;import java.io.FileOutputStream;import java ...
- Thinkphp源码分析系列–开篇
目前国内比较流行的php框架由thinkphp,yii,Zend Framework,CodeIgniter等.一直觉得自己在php方面还是一个小学生,只会用别人的框架,自己也没有写过,当然不是自己不 ...
- Memcache的总结介绍和一些命令的总结
1.1memcached是什么? 来看一些官方的一些解释: 1 free&opensource,high-performance,distributed memory object cachi ...
- nodejs总结
1.locomotive Powerful MVC web framework for Node.js. https://github.com/jaredhanson/locomotive 是基于ex ...