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');
  • 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')

8. 在数据项数据块中创建FOLDER_SWITCHER的文本项,属性类为SWITCHER.

9. 新建两个Stack canvas, 用来分别放置记录指示器及滚动条.

10. 新建一个Stack canvas, 用来放置FOLDER OPEN及FOLDER TITLE.

Thanks and Regards

Form_Form标准控件Folder开发解析(案列)的更多相关文章

  1. 开发类似"音速启动"的原创工具简码"万能助手"的过程中对ztree.js与win标准控件treeview、HTMLayout树形框等优缺点的比较

    在开发类似"音速启动"的桌面快捷方式管理软件简码"万能助手"的早期规划中,曾经考虑过几种树形框方案: ztree.js.win标准控件treeview.HTML ...

  2. SharePoint 中用户控件的开发及应用

    1.新建解决方案以及SharePoint项目,步骤比较简单略过,然后映射CONTROLTEMPLATES文件夹,在里面添加用户控件(仅场解决方案),如下图: 2.解决方案结构,如下图: 简单介绍一下, ...

  3. [转]C#开发ActiveX控件,.NET开发OCX控件案例

    引自:百度   http://hi.baidu.com/yanzuoguang/blog/item/fe11974edf52873aaec3ab42.html 讲下什么是ActiveX控件,到底有什么 ...

  4. c# ActiveX 控件的开发

    关于ActiveX控件的开发,网上很多例子,昨天也整整研究一天才捋顺了. 网上大部分例子都是js调用控件的方法,由于要实现在html页面"相应"控件的事件,整整折腾一天. 关键点在 ...

  5. DevExpress控件库 开发使用经验总结3 制作项目安装包

    2015-01-27 使用DevExpress控件包开发C/S项目完成后,部署前需要制作本地安装包.本文还是使用“SetupFactory”安装工厂来制作安装包.在以前的系列文章中详细介绍过该工具的使 ...

  6. DevExpress控件库 开发使用经验总结1 DevExpress简介、安装、使用

    2015-01-24 最近公司开发的WinForm客户端图书行业ERP管理系统,界面端采用了DevExpress控件库.界面效果非常绚丽,类似于Office2007.2010的界面风格. 其中的控件功 ...

  7. DevExpress控件库 开发使用经验总结2 DevExpress汉化之WinForm开发模式汉化

    2015-01-24 DevExpress控件库默认安装后,使用的本地资源为英文.Developer Express .NET产品都有本地化资源,比如按钮属性,控件属性描述,菜单项,确认和错误的信息等 ...

  8. [UE4]继承标准控件

    可以继承自标准控件的自定义控件中把常用的方法封装,比如设置字体大小: 调用自定义控件的自定义函数 还可以继续创建子蓝图控件

  9. Windows标准控件

    学习目的 学习创建, 使用Windows标准控件(按钮, 滚动条, 静态控件, 列表框, 编辑框, 组合框); 学习使用子窗口控件操作函数(EnableWindow, MoveWindow, SetW ...

随机推荐

  1. window7资源管理器一直重启(百度知道找到可用)

    今天我的机器也出现这种问题:我的解决方式是,在开机时选择系统修复选项中的进入命令行方式(尝试过用安全模式,文件被占用,现象一样),然后cd C:\Users\Administrator\AppData ...

  2. 越狱Season 1- Episode 16

    Season 1, Episode 16 -Burrows:Don't be. It's not your fault. 不要,不是你的错 -Fernando: Know what I like? 知 ...

  3. windows 10安装framework 3.5失败的解决方案

    装了两次win 10,全都因为没法安装framework 3.5,用不了老版本的开发环境,又换回了win7. 网上有两种解决方案: a,通过iso安装. 可是拜托,我的系统都是用ghost版本安装的, ...

  4. Linux系统编程@多线程编程(一)

    多线程编程 涉及操作系统原理概念 时间片 进程状态 上下文: 对进程来说,就是进程的执行环境,具体就是各个变量和数据,包括所有的寄存器变量.打开的文件.内存信息等. 进程的写时复制:由于一般 fork ...

  5. UBUNTU下SUBLIME TEXT3的安装+破解+汉化+中文输入

    一.Sublime Text3的下载安装 建议直接去官网下载最新版deb安装包:http://www.sublimetext.com/3 二.Sublime Text3的破解 3114版 -– BEG ...

  6. socket模块

    1 1.1 server: #!/use/local/env python# -*- coding:utf-8 -*- import socket ip_port = ('127.0.0.1', 99 ...

  7. jQuery 鼠标滚轮插件应用 mousewheel

    jQuery Mousewheel Plugin,用于添加跨浏览器的鼠标滚轮支持. mousewheel事件的处理函数有一点小小的变化,它除了第一个参数event 外,还接收到第二个参数delta. ...

  8. COM ,Threading Models,apartments,RPC

    Component Object Model (COM) https://msdn.microsoft.com/en-us/library/windows/desktop/ms680573%28v=v ...

  9. JSBinding + SharpKit / 生成JavaScript绑定

    将 UnityEngine 的代码导出到 JavaScript.就可以在 JavaScript 中使用 Unity 的功能. 如何导出? 将需要导出的类添加到 JSBindingSetting.cla ...

  10. 解决方法:loadrunner 场景下执行webservice脚本是---报错10492 Error: Exception was raised when calling per-process-init function in extens

    在vug下执行时,脚本无异常,但是在controller下执行时报下面错误,网上查了下,解决方法千奇百怪,但无一可行. 分析了下错误,似乎是初始化进程有关.想到rts中的设置习惯时以线程方式执行. 遂 ...