Form_Form标准控件Folder开发解析(案列)
2014-01-09 Created By BaoXinjian
1. 打开APPSTAND.fmb, 并加载程序库APPFLDR.pll.
2. 基于APPSTAND.fmb生成Folder开发所需的对象子类,如下:
- a) Window
- i. FOLDER_AUTOSIZE , FOLDER_SORT_DATA ,FOLDER_TOOLS
- b) Canvas
- i. FOLDER_AUTOSIZE , FOLDER_SORT_DATA ,FOLDER_TOOLS
- c) Datablock
- i. FOLDER_TOOLS
- ii. FOLDER_CONTROL
- d) Objectset
- i. STANDARD FOLDER
3. 建立基于表/视图的数据块,并设置记录指示器及滚动条.并设置对应画布及窗口.
4. 建立堆叠画布,把数据字段全部放入此画布.并调整在普通画布上的位置.
5. 删除所有数据字段的PROMPT.
6. 创建非数据库数据块PROMPT,并在其中建立如下对象.
- a) 与数据字段名称一致的显示项字段,属性类为”FOLDER_PROMPT_MULTIROW”
- b) ORDER_BY1,ORDER_BY2,ORDER_BY3的按钮字段,属性类为”FOLDER_ORDERBY”
- c) FOLDER_OPEN的按钮字段,属性类为”FOLDER_OPEN”.
- d) FOLDER_TITLE的文本项字段,属性类为”DYNAMIC_TITLE”.
- e) FOLDER_DUMMY的文本项字段,属性类为”FOLDER_DUMMY”.
7. 触发器编写
- a) FORM. LEVEL
- i. FOLDER_ACTION
- app_folder.event(:global.folder_action);
- ii. WHEN-NEW-FORM-INSTANCE
- app_folder.define_folder_block('testfolder', --form名称
'xxab_folder_form', --data block名称
'prompt', --prompt block 名称
'main_stk', --stack canvas名称
'main', --window 名称
''); --NULL - app_folder.event('instantiate');
- app_folder.define_folder_block('testfolder', --form名称
- i. FOLDER_ACTION
- b) BLOCK LEVEL
- i. 在数据库数据块上创建如下Triggers
- Pre-Query
- Post-Query
- Key-Prev-Item
- Key-Next-Item
- Key-ExeQry
- Key-EntQry
- When-New-Record-Instance
- Post-Block
- Pre-Block
- When-New-Block-Instance
- Key-Prvrec
- Key-Nxtrec
- Key-Clrblk
- Key-Clrrec
- 其中代码均为: app_folder.event('Trigger name')
- i. 在数据库数据块上创建如下Triggers
8. 在数据项数据块中创建FOLDER_SWITCHER的文本项,属性类为SWITCHER.
9. 新建两个Stack canvas, 用来分别放置记录指示器及滚动条.
10. 新建一个Stack canvas, 用来放置FOLDER OPEN及FOLDER TITLE.
Thanks and Regards
Form_Form标准控件Folder开发解析(案列)的更多相关文章
- 开发类似"音速启动"的原创工具简码"万能助手"的过程中对ztree.js与win标准控件treeview、HTMLayout树形框等优缺点的比较
在开发类似"音速启动"的桌面快捷方式管理软件简码"万能助手"的早期规划中,曾经考虑过几种树形框方案: ztree.js.win标准控件treeview.HTML ...
- SharePoint 中用户控件的开发及应用
1.新建解决方案以及SharePoint项目,步骤比较简单略过,然后映射CONTROLTEMPLATES文件夹,在里面添加用户控件(仅场解决方案),如下图: 2.解决方案结构,如下图: 简单介绍一下, ...
- [转]C#开发ActiveX控件,.NET开发OCX控件案例
引自:百度 http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...
- c# ActiveX 控件的开发
关于ActiveX控件的开发,网上很多例子,昨天也整整研究一天才捋顺了. 网上大部分例子都是js调用控件的方法,由于要实现在html页面"相应"控件的事件,整整折腾一天. 关键点在 ...
- DevExpress控件库 开发使用经验总结3 制作项目安装包
2015-01-27 使用DevExpress控件包开发C/S项目完成后,部署前需要制作本地安装包.本文还是使用“SetupFactory”安装工厂来制作安装包.在以前的系列文章中详细介绍过该工具的使 ...
- DevExpress控件库 开发使用经验总结1 DevExpress简介、安装、使用
2015-01-24 最近公司开发的WinForm客户端图书行业ERP管理系统,界面端采用了DevExpress控件库.界面效果非常绚丽,类似于Office2007.2010的界面风格. 其中的控件功 ...
- DevExpress控件库 开发使用经验总结2 DevExpress汉化之WinForm开发模式汉化
2015-01-24 DevExpress控件库默认安装后,使用的本地资源为英文.Developer Express .NET产品都有本地化资源,比如按钮属性,控件属性描述,菜单项,确认和错误的信息等 ...
- [UE4]继承标准控件
可以继承自标准控件的自定义控件中把常用的方法封装,比如设置字体大小: 调用自定义控件的自定义函数 还可以继续创建子蓝图控件
- Windows标准控件
学习目的 学习创建, 使用Windows标准控件(按钮, 滚动条, 静态控件, 列表框, 编辑框, 组合框); 学习使用子窗口控件操作函数(EnableWindow, MoveWindow, SetW ...
随机推荐
- mysql数据库主从复制部署笔记
主从复制是mysql中数据库实时同步的一个常用做法了,今天我来给各位介绍一下关于mysql数据库主从复制部署一个过程,希望此例子对各位同学参考参考. 数据库主从复制原理: 数据库的主从复制就是从mas ...
- ZOJ-3929 Deque and Balls (DP+找规律)
题目大意:n个数,每个数的大小都在1~n之间.操作n次,第 i 次将第 i 个数放到一个双端队列里面,放到队列两端的概率是相等的.问操作n次之后双端队列中元素满足xi>xi+1的对数的期望,输出 ...
- javascript闭包实例
实例一 //每次执行一次c()i加1.关键在于var c=a():c容器将i装载记住了. function a(){ var i=0; function b(){ alert(++i); } retu ...
- Python-requests之POST Data的json问题
代码如下: import json import requests r = requests.post(url, data = {"a": json.dumps({"b& ...
- 自定的 HttpModule 为什么总是执行两次
其实可以看一下Html页面就知道了. 其实它又请求了一次.要关了这个或者忽略之.
- risc与cisc
RISC(精简指令集计算机)和CISC(复杂指令集计算机)是当前CPU的两种架构.它们的区别在于不同的CPU设计理念和方法. 早期的CPU全部是CISC架构,它的设计目的是要用最少的机器语言指令来完成 ...
- C数据类型
结构体 因为数组中各元素的类型和长度都必须一致,以便于编译系统处理.为了解决这个问题,C语言中给出了另一种构造数据类型——“结构(structure)”或叫“结构体”.它相当于其它高级语言中的记录.“ ...
- SQL常见的可优化点
# 索引相关 # ################################################### 1. 查询(或更新,删除,可以转换为查询)没有用到索引 这是最基础的步骤,需要 ...
- 结合MongoDB开发LBS应用
然后列举一下需求:1.实时性要高,有频繁的更新和读取2.可按距离排序支持分页3.支持多条件筛选(一个经纬度数据还包含其他属性,比如社交系统的性别.年龄) 方案简单介绍:1.sphinx geo索引支持 ...
- Transact-SQL 学习小结
1.把系统里所有用全局临时表的改成局部临时表,不然并发高时会引发对象已经存在的问题,不要用##要用#. 2.int 不能写成 id = '1',比如Select * from A where ID=' ...