使用 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)--微信“摇一摇·周边”功能的使用和接口的实 ...
随机推荐
- Delphi ActiveX Form的使用实例
Delphi ActiveX Form的使用实例 By knityster 1. ActiveX控件简介 ActiveX控件也就是一般所说的OCX控件,它是ActiveX技术的一部分. ActiveX ...
- 在命令行中通过adb shell am broadcast发送广播通知
通过命令行执行adb shell am broadcast发送广播通知. adb shell am broadcast 后面的参数有:[-a <ACTION>][-d <DATA_U ...
- Hadoop学习12-配置集群环境
由于之前虚拟机都是用的桥接方式,有时候没有网络可用,想学习的时候,就狠不方便. 于是研究了一下,希望搭建一个多台虚机组成一个局域网的集群,即host-only方式 1.安装VM,网络选择“host-o ...
- JavaScript 在不刷新或跳转页面的情况下改变当前浏览器地址栏上的网址
JavaScript 在不刷新或跳转页面的情况下改变当前浏览器地址栏上的网址 var stateObject = {}; var title = "改变后的网址的标题"; var ...
- silverlight简单数据绑定1
数据绑定是用户界面与数据源之间的媒介:通过绑定可以使数据在界面和数据源之间传递交流.数据绑定由System.Windows.Data命名空间的Binding对象完成. 创建绑定的数据对象类. .cs类 ...
- Python偏函数
偏函数 一个带n 个参数,curried 的函数固化第一个参数为固定参数,并返回另一个带n-1 个参数函数对象 >>> from functools import partial & ...
- ios delegate你必须知道的事情
在我们的class中设计delegate的时候,我们通常会有几个注意事项. 假设我的class叫做MyClass,那我们可能会有定义一个MyClassDelegate这个protocol当作我的del ...
- postman+newman(2)
用newman执行带环境变量的postman测试用例 1.在postman中将用例项目文件导出外还需将环境变量文件导出,如下: 2.newman执行如下: newman -c 测试用例文件 -e 环境 ...
- vs2010 编译boost库
下载boost_1_49_0 打开vs2010工具dos, 再进入E:\boost_1_49_0 运行: bootstrap.bat 然后再运行: bjam stage --toolset=msvc- ...
- ios category,protocol理解
category: 向现有的类中增加方法,同时提供方法的实现,现有类不需要做任何改动. protocol:(相当于Java或C#中的接口interface,当很多类都要需要类似的方法,但是方法具体实现 ...