### Supcan FreeForm设计器

Supcan 套件从1.0.61.0版后正式引入了FreeForm 的在线设计器组件，用以减轻程序员书写Freeform XML描述文件的压力。
Freeform设计器使用简单，也可以作为普通非在线的设计使用。
Freeform设计器仅支持TableLayout定位方式的Freeform，尚不支持以x，y等绝对坐标定位的freeform，但是也支持绝对坐标定位中的TableLayout部分。
关于TableLayout辅助定位概念，请参考“Freeform XML文档规范”。
Freeform设计器支持了大多数常见的XML元素和属性，但未能涵盖“Freeform XML文档规范”中定义的全部, 因为有些元素及属性比较复杂(例如渲染路径: Path), 很难用设计器完整地表达, 所以您可能仍需要查资料手工书写。
Freeform设计器的界面分设计、XML源码和预览三部分，实际上它们是一体的，任何一部分的改动都能影响其余的界面；“工具箱”是设计器的核心部件，双击任一控件即能打开它，并展现出其属性。
1.创建实例

Supcan FreeForm设计器是通过插件/加载项创建的，所以应该用使用指南 \ 页面语法中叙述的插件/加载项的页面创建语法创建， <Object>中的某几个Param参数规则如下:

    <Object ...(略)>
    <Param name="CtlName" value="BCV4.FormDesigner">　　//固定
    <Param name="ZipUrl" value="BCV1.bin, BCV4.bin">	　　//也可以是绝对URL
    <Param name="CtlPara" value="Border=single; bgColor=white">	//例子
    ...

如果页面是直接调用dynaload.js，那么可能就是这样:

    insertFormDesigner('AF', 'Border=single; bgColor=white')

CtlPara参数决定了如何在页面上展现Supcan FreeForm设计器的实例，在上面的例子中，参数串中可包含多个子串，子串间以 "；" 分隔。
子串的名值对的规范如下：

子串名 | 含义 | 可用值 | 默认值
Border | 边界 | 1.none - 无边界 2.single - 单线条边界 3.3dLower(或3d) - 3D凹进边界 4.3dRaise - 3D凸起边界 | single
BorderColor | 边界色 | 颜色，仅用于Border=single | #7f9db9
Hue | 强制更改色调 | LightGray - 浅灰色 Caramel - 焦糖色 Lilian - 百合花色 Lividity - 青黑色 注：更改结果将保存至系统文件，永久有效. | (无)
FuncLog | 函数调用日志 | 文件名，建议后缀是txt, 不必带路径，系统将自动在 BC 目录下创建. 该文件能自动记录本组件实例被调用的所有函数, 用于程序调试. 注：正式运行时请不要使用，因为频繁读写磁盘会导致性能下降. | 无
FuncParaChars | 函数日志中参数最大字数 | 数字，当启用函数日志时，函数的参数最多保留字数. | 128
FuncReturnChars | 函数日志中返回值最大字数 | 数字，当启用函数日志时，函数的返回值最多保留字数. | 0
isComponentURLWithButton | 大粒度组件的URL输入框右侧是否安置一个按钮 | true/false | false

2.函数

Supcan FreeForm设计器的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的，Supcan FreeForm设计器的可用funcname及用途说明如下:
4.事件

Supcan FreeForm设计器的OnEvent( id, Event, p1, p2, p3, p4 )事件含义及参数分别如下：
设计器就只有一个"Saved"事件，通常在"Saved"事件后，调用GetFileXML( )函数获得当前的XML大串，通过Ajax保存到后端，以实现在线设计。