为什么80%的码农都做不了架构师?>>>   

窗体 < TIWAppForm < TIWForm < TIWBaseHTMLForm < TIWBaseForm.



TIWAppForm 所在单元及继承链:
IWAppForm.TIWAppForm < TIWForm < TIWBaseHTMLForm < TIWBaseForm < TIWModuleDsn < TIWContainer < TIWBaseContainer < TScrollingWinControl < TWinControl < TControl < TComponent < TPersistent < TObject

主要成员:


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 < TIWBaseHTMLForm < TIWBaseForm < TIWModuleDsn < TIWContainer < TIWBaseContainer < TScrollingWinControl < TWinControl < TControl < TComponent < TPersistent < TObject

{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; //执行一次 OnDefaultActionprocedure 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 < TIWBaseForm < TIWModuleDsn < TIWContainer < TIWBaseContainer < TScrollingWinControl < TWinControl < TControl < TComponent < TPersistent < TObject

主要成员:


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

TIWBaseForm 所在单元及继承链:
IWBaseForm.TIWBaseForm < TIWModuleDsn < TIWContainer < TIWBaseContainer < TScrollingWinControl < TWinControl < TControl < TComponent < TPersistent < TObject

主要成员:


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 //是否禁用后退按钮; 默认 Falseproperty OnAfterRender: TNotifyEvent //呈现后, 发生在 OnCreate > OnRender 之后
property OnCreate: TNotifyEvent
property OnDestroy: TNotifyEventprocedure Hide //
procedure Show //
procedure Release //释放; 它会先把窗体添加到 WebApplicaiton 内部的列表(FReleasedForms)中, 同时 Hide 掉; 等新的 ActiveForm 就绪后再 Free
procedure ReleaseAndRedirect(const aUrl: string) //释放并转向
class function TextToHTMLStringLiteral(const AText: string): string; //在 Html 中有些字符需要转码, 用这个函数很方便


示例:


//待续...

转载于:https://my.oschina.net/hermer/blog/319341

使用 IntraWeb (38) - TIWAppForm、TIWForm、TIWBaseHTMLForm、TIWBaseForm相关推荐

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

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

  2. 使用 IntraWeb (2) - Hello IntraWeb

    为什么80%的码农都做不了架构师?>>>    IntraWeb 比我相像中的更贴近 VCL, 传统的非可视组件在这里大都可用(其内部很多复合属性是 TStringList 类型的) ...

  3. Intraweb之EasyUI篇

    Intraweb一直是Delphi快速开发web应用的首选工具,但自带的控件较少,样式比较难看,TMS与IW倒是可用,可是要收费,对于我们这些习惯用免费的用户来说,想找个破解也比较费劲.EasyUI是 ...

  4. 剑指offer:面试题38. 字符串的排列

    题目:面试题38. 字符串的排列 输入一个字符串,打印出该字符串中字符的所有排列. 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素. 示例: 输入:s = "abc" 输 ...

  5. 使用 IntraWeb (8) - 系统模板

    我们可以自定义系统错误模板, 编辑 IWError.html 放到模板文件夹后, 它将替换默认的模板. {在主页面, 这是要模拟一个系统错误} procedure TIWForm1.IWButton1 ...

  6. 量子计算与AI“双拳”出击,他们锁定38种潜在抗疫药物

    作者 | Just 出品 | AI科技大本营(ID:rgznai100) 医药研发行业有一个"三个十"的说法,即一种药物的发现需要投入十年以上的时间,花费十多亿美元,最后获得10% ...

  7. 0.38秒!MIT 机器人还原3阶魔方的时间再破记录

    作者 | Leo 魔方大家应该都玩过,能在短时间内还原魔方的孩子常常被很多家长认为是聪明的表现,人类目前还原三阶魔方的记录为4.69秒. 不过和围棋不一样,在这项竞技上,机器不给人类任何机会. 现在由 ...

  8. 使用 IntraWeb (36) - TIWServerControllerBase

    每个应用须有且只有一个 Server Controller. TIWServerControllerBase 所在单元及继承链: IWServerControllerBase.TIWServerCon ...

  9. 统计局:居民用于交通活动的平均时间为38分钟

    中新网1月25日电 国家统计局今日发布<2018年全国时间利用调查公报>,<公报>里的数据显示,居民用于交通活动的平均时间为38分钟,其中城镇居民44分钟,农村居民30分钟. ...

最新文章

  1. 我在清华当工程师的日子
  2. matplotlib 一张图多个图,如何在Matplotlib中绘制同一个图上的多个函数?
  3. GDCM:gdcm::PhotometricInterpretation的测试程序
  4. 【转】C#调用ADOX创建Access数据文件后关闭连接
  5. IntelliJ IDEA for Mac 如何自定义快捷键_设置快捷键
  6. 12006.eeprom之M24C02
  7. IPhone之NSXMLParser的使用
  8. 英伟达有魔力,Uber小心翼翼 | 跟着开复去硅谷Day1
  9. 24.最优布线问题(kruskal算法)
  10. python数据分析之(3)pandas
  11. rsa算法的java实现,RSA算法的实现——java版
  12. postsql密码修改
  13. Kettle工具简单使用(spoon)
  14. MySQL - MySQL 8.0(二)基本操作:对象
  15. 质数的java代码_java 代码求质数
  16. Ant design-05 表单多选的组件
  17. linux-centos8安装nginx
  18. TypeError: unhashable type
  19. k8s ingress yml 浅薄理解
  20. 微博验证码识别系列三:根据微博验证码图片建立模型

热门文章

  1. 大咖来信 | 轮值董事长徐直军,复盘华为AI战略出台始末
  2. 大开眼界:Facebook做了一个会“开眼”的AI,拯救眨眼照片
  3. MIT新研究:基于基本运动能力让机器人自主学习,感知世界
  4. 测测自己最像哪幅名画?谷歌博物馆App新推自拍功能
  5. SSH密钥对登录的原理和实践
  6. xxx/labelKeypoint/utils/qt.py:81: RuntimeWarning: invalid value encountered in double_scalars
  7. Aligned公司在凤凰城建设数据中心将采用微电网的电力
  8. Python数据可视化1.5 可视化图像
  9. 实习小白::(转) cocos2d-x使用cocosStudio编辑的动画文件
  10. 【简易教程】人体时钟 ホネホネ・クロック [時計・ブログパーツ]