3.函数

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

分类 | 函数名 | 用途
--- | --- | ---
(未分类) | Build | 加载Freeform的XML描述文件
GetFileXML | 取得模板的XML大串
GetDocURL | 取得当前正在设计中的XML文档的URL
GetCurrentIDs | 取得当前正在设计中、被选中的对象的 ID 号
GetChangedComponents | 取得有改动的大粒度组件的ID
OpenToolBox | 打开工具箱
CallFunc | 调用工具条功能
GetHandle | 取得内部非模式对话框的句柄
SetEventListInfo | 设置事件列表中某些事件的附加信息
SetToolboxCellData | 设置工具箱的属性窗中当前单元格的值
BeginDrag | 外部触发拖拽，通常是树控件的 BeginDrag 事件

函数详解:

Build | 加载Freeform的XML描述文件 |
参数 | XML的URL(相对或绝对)，或者直接就是XML大串
返回值 | 1 - 成功; 空串 - 失败(将自动弹出失败页面)

GetFileXML | 取得模板的XML大串 |
参数 | 大粒度组件的ID。如果是空串，表示是顶级Freeform
返回值 | XML串
备注 | 1.该函数取得XML后，通常需要再通过Ajax发送给服务器，以实现在线设计； 2.在嵌套使用的情况下，只有被设计器打开过的大粒度组件才有返回串

GetDocURL | 取得当前正在设计中的XML文档的URL |
参数 | (无)
返回值 | URL

GetCurrentIDs | 取得当前正在设计中、被选中的对象的 ID 号 |
参数 | (无)
返回值 | ID号，如果当前有多个对象被选中，则以逗号分隔

GetChangedComponents | 取得有改动的大粒度组件的ID |
参数 | (无)
返回值 | 逗号分隔的ID
备注 | 顶级Freeform的ID是空串

OpenToolBox | 打开工具箱 |
参数 | 可以是1、2、3，顺序表示工具箱中的属性、控件库和下拉字典页，默认是1.
返回值 | (无)

CallFunc | 调用工具条功能 |
参数1 | 功能号
参数2 | 可选，参数，和功能号有关
返回值 | 通常是 1/0，表示成功/失败

GetHandle | 取得内部非模式对话框的句柄 |
参数 | 可以为: innerDialog - 取内部非模式对话框的Freeform句柄;
返回值 | 整数串

SetEventListInfo | 设置事件列表中某些事件的附加信息 |
参数1 | ID
参数2 | 串，可以是："Clicked;DblClicked", 也可以是 "Clicked=OnMyClick; DblClicked=OnMyDbl", 用于在事件列表中增加附加标注
返回值 | (无)
备注 | 通常在 EventListRefreshed 事件中执行

SetToolboxCellData | 设置工具箱的属性窗中当前单元格的值 |
参数 | 串
返回值 | (无)
备注 | 通常用于 ButtonClicked 事件

BeginDrag | 外部触发拖拽，通常是树控件的 BeginDrag 事件 |
参数1 | 控件类型，可以是串 Edit, Edit (With Button), Edit (MultiLine), Edit (Upload), Edit (Password), Droplist, Droplist (EditAble), DropTreelist, DropTreelist (EditAble), Button, Checkbox, RadioButton, Group, GroupEx, Text, Line, Rect, Image, ImageFlow, WebBrowser, FreeformTree, Pager, Tab, TableLayout, Treelist, Report, Freeform, Tree, Chart, 也可以是数字(顺序号)
参数2 | 在拖拽过程中显示的串
参数3 | 控件的XML串
返回值 | 1/0 - 成功/失败