<?xml version='1.0' encoding='utf-8' ?>
<events>
<Report>
	<SelChanged>
		<meaning>选中了单元格</meaning>
		<p>行号</p><p>列号</p>
	</SelChanged>
	<SelChanged>
		<meaning>选中了内嵌对象</meaning>
		<p>别名</p>
	</SelChanged>
	<Clicked>
		<meaning>鼠标点到某单元格</meaning>
		<p>行号</p><p>列号</p><p>超链接的URL&lt;br&gt;(如果该单元定义了超链接)</p><p>数据源超链接的列ID (如果是数据源的超链接)</p>
	</Clicked>
	<Clicked>
		<meaning>鼠标点到定义了超链接的交叉表的单元格</meaning>
		<p>行号</p><p>列号</p><p>Crosstab</p><p>交叉表中该值的“副标题文字”</p>
		<memo>可以继续用 GetCellProp 函数获取该单元格的 crosstabRowDir、crosstabColDir 属性，即所在的交叉项</memo>
	</Clicked>
	<Clicked>
		<meaning>鼠标点在单元格右侧的按钮上</meaning>
		<p>行号</p><p>列号</p><p>RightButton</p>
		<memo>请参见函数 SetCellProp/GetCellProp</memo>
	</Clicked>
	<Clicked>
		<meaning>鼠标点到某统计图</meaning>
		<p>统计图别名</p><p>系列名</p><p>数据项名</p><p>数据所在的单元格名称&lt;br&gt;如果是多工作表, 则在后面跟随有类似 "@sheet1" 的宏</p>
	</Clicked>
	<Clicked>
		<meaning>鼠标点到某内嵌对象</meaning>
		<p>别名</p>
	</Clicked>
	<Clicked>
		<meaning>鼠标点在某内嵌对象右侧的按钮上</meaning>
		<p>别名</p><p>　</p><p>RightButton</p>
		<memo>请参见函数 SetCellProp/GetCellProp</memo>
	</Clicked>
	<DblClicked>
		<meaning>鼠标双击某单元格</meaning>
		<p>行号</p><p>列号</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</DblClicked>
	<EditChanged>
		<meaning>单元格内容被修改</meaning>
		<p>行号</p><p>列号</p><p>输入前的内容</p>
		<memo>通常是输入框关闭(焦点离开)后才触发该事件的</memo>
	</EditChanged>
	<EditChanged>
		<meaning>文本框内容被修改</meaning>
		<p>别名</p><p>　</p><p>输入前的内容</p>
		<memo>通常是输入框关闭(焦点离开)后才触发该事件的</memo>
	</EditChanged>
	<Editing>
		<meaning>正打开着的单元格的输入框内容有变</meaning>
		<p>行号</p><p>列号</p><p>当前内容串</p>
		<memo>在输入过程中，输入内容并不会立即更新到单元格中</memo>
	</Editing>
	<Editing>
		<meaning>正打开着的文本框的输入框内容有变</meaning>
		<p>别名</p><p>　</p><p>当前内容串</p>
		<memo>在输入过程中，输入内容并不会立即更新到单元格中</memo>
	</Editing>
	<Keydown>
		<meaning>在非编辑状态时的键盘动作</meaning>
		<p>　</p><p>　</p><p>键的ASCII码，例如回车是13、空格是32</p><p>见备注2</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
		<memo>p4的含义为: 1-Ctrl键也按下了； 2-Shift键也按下了； 3-二者一起按下了</memo>
	</Keydown>
	<Checked>
		<meaning>鼠标选了Checkbox</meaning>
		<p>行号</p><p>列号</p><p>Checkbox的值(1/0)</p>
	</Checked>
	<Opened>
		<p>报表的URL</p>
		<meaning>已打开报表</meaning>
	</Opened>
	<Saved>
		<p>本地的全文件名</p><p>如果一开始打开的是zip文件，则为该zip文件名</p>
		<meaning>报表已保存</meaning>
	</Saved>
	<Exported>
		<meaning>报表已转换输出</meaning>
		<p>全文件名(多个文件以逗号分隔)</p><p>文件类型(即后缀)</p>
	</Exported>
	<MenuBeforePopup>
		<meaning>右键菜单即将弹出(单元格)</meaning>
		<p>行号</p><p>列号</p>
	</MenuBeforePopup>
	<MenuBeforePopup>
		<meaning>右键菜单即将弹出(文本框/统计图/图片等)</meaning>
		<p>别名，多个别名间以逗号分隔</p>
	</MenuBeforePopup>
	<MenuClicked>
		<meaning>右键菜单的自定义部分被选中</meaning>
		<p>功能号</p><p>行号</p><p>列号</p>
	</MenuClicked>
	<Toolbar>
		<meaning>鼠标点击了工具条中的某按钮</meaning>
		<p>功能号</p><p>参数，和功能号有关</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</Toolbar>

	<CellPropChanged>
		<meaning>工具箱中单元格的某些属性已被改动</meaning>
		<p>单元格名</p><p>属性名称</p><p>修改前的内容</p><p>修改后的内容</p>
	</CellPropChanged>
	<BeforeCellPropChanged>
		<meaning>工具箱中单元格的某些属性被改动前</meaning>
		<p>单元格名</p><p>属性名称</p><p>修改前的内容</p><p>修改后的内容</p>
	</BeforeCellPropChanged>
	<RowInserted>
		<meaning>行已插入</meaning>
		<p>行号</p><p>数量</p>
	</RowInserted>
	<BeforeRowInserted>
		<meaning>行插入前</meaning>
		<p>行号</p><p>数量</p>
	</BeforeRowInserted>
	<RowDeleted>
		<meaning>行已删除</meaning>
		<p>行号</p><p>数量</p>
	</RowDeleted>
	<BeforeRowDeleted>
		<meaning>行删除前</meaning>
		<p>行号</p><p>数量</p>
	</BeforeRowDeleted>
	<ColInserted>
		<meaning>列已插入</meaning>
		<p>列号</p><p>数量</p>
	</ColInserted>
	<BeforeColInserted>
		<meaning>列插入前</meaning>
		<p>列号</p><p>数量</p>
	</BeforeColInserted>
	<ColDeleted>
		<meaning>列已删除</meaning>
		<p>列号</p><p>数量</p>
	</ColDeleted>
	<BeforeColDeleted>
		<meaning>列删除前</meaning>
		<p>列号</p><p>数量</p>
	</BeforeColDeleted>
	<WorkSheetSelChanged>
		<meaning>当前工作表已切换</meaning>
		<p>工作表序号</p>
	</WorkSheetSelChanged>
	<BeforeSheetDeleted>
		<meaning>工作表被删除前</meaning>
		<p>工作表序号</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</BeforeSheetDeleted>
	<SheetDeleted>
		<meaning>工作表已经被删除</meaning>
		<p>工作表序号</p>
	</SheetDeleted>
	<BeforeSheetRenamed>
		<meaning>工作表被改名前</meaning>
		<p>工作表序号</p><p>原名</p><p>新名</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</BeforeSheetRenamed>
	<SheetRenamed>
		<meaning>工作表已经被改名</meaning>
		<p>工作表序号</p><p>原名</p><p>新名</p>
	</SheetRenamed>

	<BeforePrint>
		<meaning>正准备要打印</meaning>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</BeforePrint>
	<Printed>
		<meaning>已打印&lt;br&gt;(是指打印任务已经发送给操作系统的打印任务队列)</meaning>
		<p>已打印次数</p><p>0 - 普通打印;&lt;br&gt;1 - 在预览窗口中的打印当前页;&lt;br&gt;2 - 在预览窗口中的打印全部页;</p>
	</Printed>
	<Previewed>
		<meaning>打印预览窗口已关闭</meaning>
	</Previewed>
	<PrintSetupBeforeUpdate>
		<meaning>打印参数设置对话框已经按下"确认", 但尚未更新到报表</meaning>
		<p>即将要更新的新的配置串(XML串)</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</PrintSetupBeforeUpdate>
	<PrintSetupUpdated>
		<meaning>打印参数设置对话框已经按"确认"关闭, 并且已经更新到报表</meaning>
	</PrintSetupUpdated>
	<Calced>
		<meaning>已执行计算</meaning>
		<p>0 - 执行了工具条上的“重新计算”;&lt;br&gt;1 - 执行了"除数据源外，重新计算";&lt;br&gt;2 - API执行了计算函数;&lt;br&gt;3 - API执行了当前工作表的计算</p>
		<p>0 - 是同步计算&lt;br&gt;1 - 是异步计算&lt;br&gt;&lt;br&gt;注：工具条上的“计算”按钮是异步计算</p>
	</Calced>
	<DataReach>
		<meaning>数据源已经访问了http并得到了数据，但尚未应用该数据</meaning>
		<p>内存块的句柄</p><p>URL</p><p>数据源的ID, 如"ds1"</p>
		<memo>可以用全局函数 GetDataString / SetDataString 取得或更改内存块中的数据</memo>
		<memo>可以用上述2个函数存取数据，但不宜过多调用其它函数，否则会造成不稳定</memo>
	</DataReach>
	<HotKey>
		<meaning>触发了快捷键</meaning>
		<p>快捷键</p><p>如果当前选中的是单元格，为所在行号; &lt;br&gt;如果是内嵌对象，则为它的别名</p><p>当前单元格的列号, 如果有单元格选中的话</p>
	</HotKey>
	<UserEvent>
		<meaning>全局函数 PostMessage 发出的自定义事件</meaning>
		<p>自定义</p><p>自定义</p><p>自定义</p><p>自定义</p>
	</UserEvent>
	<Download>
		<meaning>全局事件，请参见Freeform组件的同名事件</meaning>
	</Download>
	<Upload>
		<meaning>全局事件，请参见Freeform组件的同名事件</meaning>
	</Upload>
	<树列表别名.树列表事件名>
		<meaning>内嵌树列表的事件</meaning>
		<p>参见树列表</p><p>参见树列表</p><p>参见树列表</p><p>参见树列表</p>
	</树列表别名.树列表事件名>
</Report>

<Treelist>
	<SelChanged>
		<meaning>当前行或单元格已变化(被切换)</meaning>
		<p>行号</p><p>列名(见备注)</p>
		<memo>当p2参数为空串时, 表示当前行已变化: 否则表示当前单元格已变化, 并且进入编辑状态</memo>
	</SelChanged>
	<Clicked>
		<meaning>情形1: 鼠标点到某单元格</meaning>
		<p>行号</p><p>列名</p><p>如果当前列为超链接, 则为本单元格的内容</p>
	</Clicked>
	<Clicked>
		<meaning>情形2: 鼠标点到某列表头</meaning>
		<p>-1</p><p>列名</p><p>1 / 0 / icon(见备注)</p>
		<memo>如果是isCheckboxOnly 列, 则p3为 1 或 0; 如果是点击在headerIcon小图标上，则p3为串icon</memo>
	</Clicked>
	<Clicked>
		<meaning>情形3: 鼠标点到 EditWithButton 输入框右侧的按钮</meaning>
		<p>行号</p><p>列名</p><p>　</p><p>见备注</p>
		<memo>p4参数规定为：如果当前列为 Button 型 或 editWithButton 型,  鼠标点在 button 上则为 "button"；如果列中有多个 button，那么分别为 "button1"、"button2"... 依次类推</memo>
	</Clicked>
	<Clicked>
		<meaning>情形4: 鼠标点到下拉 DropTreelist 弹出窗的自定义按钮上</meaning>
		<p>行号</p><p>列名</p><p>DropdownButton</p><p>按钮的 id</p>
	</Clicked>
	<DblClicked>
		<meaning>鼠标双击某单元格</meaning>
		<p>行号</p><p>列名</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</DblClicked>
	<BeforeEdit>
		<meaning>某单元进入编辑(输入)前</meaning>
		<p>行号</p><p>列名</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</BeforeEdit>
	<EditChanged>
		<meaning>某单元被修改</meaning>
		<p>行号</p><p>列名</p>
	</EditChanged>
	<EditChanged>
		<meaning>执行了右键菜单的"粘贴"</meaning>
		<p>开始行号</p><p>开始列名</p><p>结束行号</p><p>结束列名</p>
		<memo>在编辑状态下单元格内部的右键菜单是操作系统的菜单，是不会触发本事件的</memo>
	</EditChanged>
	<DropdownSelChanged>
		<meaning>某单元的下拉 Treelist 的选中行已变</meaning>
		<p>行号</p><p>列名</p><p>1 - 数据有变化&lt;br&gt;0 - 数据无变化</p>
		<memo>该事件和 EditChanged 不太一样, 因为下拉以后, 仍可以通过 Esc 键反悔、 不再触发 EditChanged 事件. 当然，如果您在 &amp;lt;properties&amp;gt; 中设定了 AutoUpdate="true", 那就无法用 Esc 反悔了</memo>
	</DropdownSelChanged>
	<BeforeDropdown>
		<meaning>某单元的下拉 List 或下拉 Treelist 正准备下拉</meaning>
		<p>行号</p><p>列名</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行, 但仅对下拉 Treelist 有效, 对下拉 List 无效</memo>
	</BeforeDropdown>
	<EditKeydown>
		<meaning>在编辑状态时输入框的键盘动作&lt;br&gt;请见备注2</meaning>
		<p>行号</p><p>列名</p><p>键的ASCII码，例如回车是13、空格是32</p><p>见备注2</p>
		<memo>EditKeydown 和 EditChar 事件均为在输入框中的键盘事件，EditKeydown 能捕获几乎所有键盘动作，包括非字符的回车、Tab等；而 EditChar 事件则以输入的字符为主，包括中文;</memo>
		<memo>p4的含义为: 1-Ctrl键也按下了； 2-Shift键也按下了； 3-二者一起按下了</memo>
		<memo>您可以执行全局函数 CancelEvent( ) 去阻止继续执行，就如事件没有发生过那样，但不同的ASCII码，您需要在这两个事件中挑选一个执行CancelEvent( )，具体请在演示页“12.事件”中去测试</memo>
	</EditKeydown>
	<EditChar>
		<meaning>在编辑状态时输入框的键盘字符</meaning>
		<p>行号</p><p>列名</p><p>字符的ASCII码</p>
		<memo>EditKeydown 和 EditChar 事件均为在输入框中的键盘事件，EditKeydown 能捕获几乎所有键盘动作，包括非字符的回车、Tab等；而 EditChar 事件则以输入的字符为主，包括中文;</memo>
	</EditChar>
	<Keydown>
		<meaning>在非编辑状态时的键盘动作</meaning>
		<p>行号，如果有多行则以逗号分隔</p><p>　</p><p>键的ASCII码，例如回车是13、空格是32</p><p>见备注2</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
		<memo>p4的含义为: 1-Ctrl键也按下了； 2-Shift键也按下了； 3-二者一起按下了</memo>
	</Keydown>
	<LooseFocus>
		<meaning>某单元刚失去焦点</meaning>
		<p>行号</p><p>列名</p><p>导致失去焦点的动作键位值：&lt;br&gt;9 - Tab&lt;br&gt;13 - 回车&lt;br&gt;37 - left&lt;br&gt;38 - up&lt;br&gt;39 - right;&lt;br&gt;40 - down&lt;br&gt; 空串 - 鼠标或其它原因导致</p>
	</LooseFocus>
	<rowsInserted>
		<meaning>有行插入</meaning>
		<p>新行的行号</p><p>数量</p>
	</rowsInserted>
	<rowsDeleted>
		<meaning>有行被删除</meaning>
		<p>被删行的Key, 若有多行则以\t分隔</p><p>被删除行的原始内容(XML格式)</p>
		<memo>未定义 key 的 Treelist 不会触发该事件</memo>
	</rowsDeleted>
	<LazyLoad>
		<meaning>LazyLoad="true"的单列多层树的树杈被首次点击</meaning>
		<p>行号</p><p>id号 (当treeformat为byId、byPid时)</p>
	</LazyLoad>
	<MenuBeforePopup>
		<meaning>鼠标右键菜单即将弹出</meaning>
		<p>行号，&lt;br&gt;可能为-1</p><p>列名, &lt;br&gt;有可能为空</p>
	</MenuBeforePopup>
	<MenuClicked>
		<meaning>鼠标右键菜单自定义功能被选中</meaning>
		<p>菜单项id</p><p>行号</p><p>列名</p>
	</MenuClicked>
	<BeforeDragRow>
		<meaning>行即将被拖拽</meaning>
		<p>被拖动的行，多个行则以逗号分隔</p><p>目的行</p><p>1/0 - 拖动到目的行的上方/下方</p><p>见备注2</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
		<memo>p4参数格式为 handle=[?];asChild=true，例如串 "handle=82922093;asChild=true"，其中 handle 的含义为源 Treelist 的句柄(可通过 GetHandle 函数获得)，如果是自我拖拽，则不出现该项；asChild=true 表示作为子孙拖入，如果非子孙、或者当前非树，则不出现该项.</memo>
	</BeforeDragRow>
	<Switched>
		<meaning>被执行了树、列表之间的切换</meaning>
		<memo>仅在弹出菜单时触发, 通过 js 进行切换是不会触发的</memo>
	</Switched>
	<RequestAllPages>
		<meaning>需要加载全部数据，以打印或转换输出</meaning>
		<memo>用于分页显示时</memo>
	</RequestAllPages>
	<Sort>
		<meaning>已重新排序 (触发了排序操作)</meaning>
		<p>如果&amp;lt;Properties&amp;gt;中定义了IsRemoteSort, &lt;br&gt;则为“1”，否则是空</p>
	</Sort>
	<InvalidMouseWheel>
		<meaning>无效的鼠标滚轮操作</meaning>
		<p>如果顶部已经是第一行仍然要上滚，为"up"; 如果底部已经是末行仍要下滚, 则为“down”</p>
		<memo>常用于分页显示情形</memo>
	</InvalidMouseWheel>
	<Printed>
		<meaning>已打印&lt;br&gt;(是指打印任务已经发送给操作系统的打印任务队列)</meaning>
		<p>　</p><p>0 - 普通打印;&lt;br&gt;1 - 在预览窗口中的打印当前页;&lt;br&gt;2 - 在预览窗口中的打印全部页;</p>
	</Printed>
	<Previewed>
		<meaning>打印预览窗已关闭</meaning>
		<p>　</p>
	</Previewed>
	<Load>
		<meaning>数据已经通过Load( )函数加载</meaning>
		<p>URL, 空串表示加载的是XML/JSON串</p><p>0-同步加载&lt;br&gt;1-异步加载</p><p>0-加载失败&lt;br&gt;1-加载成功</p>
	</Load>
	<Imported>
		<meaning>刚从Excel文件导入</meaning>
		<p>导入的起始行的行号</p><p>导入的总行数</p>
	</Imported>
	<DataReach>
		<meaning>已经访问了 dataURL(包括 Load 函数访问) 并得到了数据，但尚未应用该数据</meaning>
		<p>内存块的句柄</p><p>URL</p>
		<memo>可以用全局函数 GetDataString / SetDataString 取得或更改内存块中的数据</memo>
		<memo>可以用上述2个函数存取数据，但不宜过多调用其它函数，否则会造成不稳定</memo>
	</DataReach>
	<DropDownDataReach>
		<meaning>某个异步加载数据的下拉已经获得了数据并已完成加载</meaning>
		<p>&lt;b&gt;某个下拉资源的 id&lt;/b&gt; - 表示此下拉数据已经到达&lt;br&gt;
&lt;b&gt;Complete!&lt;/b&gt; - 所有异步下拉的数据已全部到达</p>
		<memo>异步访问http的下拉列表、下拉树列表在初始加载数据时触发</memo>
		<memo>同步加载数据的下拉不会触发本事件</memo>
		<memo>当全部异步下拉都完成加载后，本事件会再次被触发，p1是固定的串 "Complete!"</memo>
	</DropDownDataReach>
	<HotKey>
		<meaning>触发了快捷键</meaning>
		<p>快捷键</p><p>当前行的行号, 如果正在输入的话</p><p>当前列的列名, 如果正在输入的话</p>
	</HotKey>
	<UserEvent>
		<meaning>全局函数 PostMessage 发出的自定义事件</meaning>
		<p>自定义</p><p>自定义</p><p>自定义</p><p>自定义</p>
	</UserEvent>
	<Download>
		<meaning>全局事件，请参见Freeform组件的同名事件</meaning>
	</Download>
	<Upload>
		<meaning>全局事件，请参见Freeform组件的同名事件</meaning>
	</Upload>
</Treelist>

<Freeform>
	<EditChanged>
		<Group>输入</Group>
		<meaning>某输入框内容已修改</meaning>
		<p>id</p>
		<memo>包括Checkbox、RadioButton</memo>
	</EditChanged>
	<EditChanged>
		<Group>输入</Group>
		<meaning>文件上传控件的上传文件有变动</meaning>
		<p>id</p>
		<memo>通常在关闭对话框后</memo>
	</EditChanged>
	<EditKeydown>
		<Group>输入</Group>
		<meaning>输入框的键盘动作</meaning>
		<p>id</p><p>键的ASCII码，例如回车是13、空格是32</p><p>见备注2</p>
		<memo>EditKeydown 和 EditChar 事件均为在输入框中的键盘事件，EditKeydown 能捕获几乎所有键盘动作，包括非字符的回车、Tab等；而 EditChar 事件则以输入的字符为主，包括中文;</memo>
		<memo>p3的含义为: 1-Ctrl键也按下了； 2-Shift键也按下了； 3-二者一起按下了</memo>
		<memo>您可以执行全局函数 CancelEvent( ) 去阻止继续执行，就如事件没有发生过那样，但不同的ASCII码，您需要在这两个事件中挑选一个执行CancelEvent( )，具体请在演示页“12.事件”中去测试</memo>
	</EditKeydown>
	<EditChar>
		<Group>输入</Group>
		<meaning>输入框的键盘字符</meaning>
		<p>id</p><p>字符的ASCII码</p>
		<memo>EditKeydown 和 EditChar 事件均为在输入框中的键盘事件，EditKeydown 能捕获几乎所有键盘动作，包括非字符的回车、Tab等；而 EditChar 事件则以输入的字符为主，包括中文;</memo>
	</EditChar>
	<LooseFocus>
		<Group>输入</Group>
		<meaning>某输入框已失去焦点</meaning>
		<p>id</p><p>下一个焦点的id&lt;br&gt;(仅和键盘动作有关)</p>
	</LooseFocus>
	<BeforeDropdown>
		<Group>输入</Group>
		<meaning>某输入框的下拉 List 或下拉 Treelist 正准备下拉</meaning>
		<p>id</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行, 但仅对下拉Treelist有效, 对下拉List无效</memo>
	</BeforeDropdown>
	<DropdownSelChanged>
		<Group>输入</Group>
		<meaning>某下拉的下拉行被鼠标选择了</meaning>
		<p>id</p><p>1 - 数据有变化&lt;br&gt;0 - 数据无变化</p>
	</DropdownSelChanged>

	<ButtonClicked>
		<Group>按钮</Group>
		<meaning>情形1: 某按钮已Clicked</meaning>
		<p>id</p>
		<memo>支持 CancelEvent 全局函数阻止继续执行</memo>
	</ButtonClicked>
	<ButtonClicked>
		<Group>按钮</Group>
		<meaning>情形2: 鼠标点到下拉 DropTreelist 弹出窗的自定义按钮上</meaning>
		<p>id</p><p>　</p><p>DropdownButton</p><p>自定义按钮的 id</p>
	</ButtonClicked>
	<HyperLink>
		<Group>Text</Group>
		<meaning>鼠标点击了超链接的Text</meaning>
		<p>id号</p>
	</HyperLink>

	<BeforePager>
		<Group>分页器</Group>
		<meaning>分页触发前</meaning>
		<p>id号</p><p>开始行</p><p>每页行数</p>
		<memo>支持 CancelEvent 全局函数取消分页</memo>
	</BeforePager>
	<Pager>
		<Group>分页器</Group>
		<meaning>分页触发后</meaning>
		<p>id号</p><p>开始行</p><p>每页行数</p>
	</Pager>

	<BeforeSelChanged>
		<Group>选项卡</Group>
		<meaning>选项卡(Tab)切换前</meaning>
		<p>老的页签的序号</p><p>新的页签的序号</p><p>新的页签的ID</p><p>见备注1</p>
		<memo>p4参数含义为:  0表示第一次展现, 1表示已经被展现过</memo>
		<memo>支持 CancelEvent 全局函数阻止继续执行</memo>
	</BeforeSelChanged>
	<SelChanged>
		<Group>选项卡</Group>
		<meaning>选项卡(Tab)切换后</meaning>
		<p>老的页签的序号</p><p>新的页签的序号</p><p>新的页签的ID</p><p>见备注</p>
		<memo>p4参数含义为:  0表示第一次展现, 1表示已经被展现过</memo>
	</SelChanged>
	<BeforeClosed>
		<Group>选项卡</Group>
		<meaning>选项卡某页签被手工关闭前</meaning>
		<p>页签的序号</p><p>　</p><p>页签的ID</p>
		<memo>支持 CancelEvent 全局函数取消关闭</memo>
	</BeforeClosed>
	<Closed>
		<Group>选项卡</Group>
		<meaning>选项卡某页签已经被手工关闭</meaning>
		<p>页签的序号</p><p>　</p><p>页签的ID</p>
	</Closed>
	<BeforeExchanged>
		<Group>选项卡</Group>
		<meaning>选项卡被拖拽交换位置前</meaning>
		<p>被拖拽的页签id</p><p>交换前的各个页签id排列顺序,逗号分隔</p><p>交换后的各个页签id排列顺序,逗号分隔</p>
		<memo>支持 CancelEvent 全局函数取消该动作</memo>
	</BeforeExchanged>
	<Exchanged>
		<Group>选项卡</Group>
		<meaning>选项卡被拖拽交换位置</meaning>
		<p>被拖拽的页签id</p><p>交换前的各个页签id排列顺序,逗号分隔</p><p>交换后的各个页签id排列顺序,逗号分隔</p>
	</Exchanged>

	<ImageClicked>
		<Group>ImageFlow</Group>
		<meaning>鼠标点到某图</meaning>
		<p>id号</p><p>text</p><p>url</p>
	</ImageClicked>
	<ImageDblClicked>
		<Group>ImageFlow</Group>
		<meaning>鼠标双击某图</meaning>
		<p>id号</p><p>text</p><p>url</p>
	</ImageDblClicked>

	<FreeformTreeClicked>
		<Group>Freeform-&lt;br&gt;Tree</Group>
		<meaning>鼠标单击树的某节点</meaning>
		<p>FreeformTree的id</p><p>数据的id</p>
	</FreeformTreeClicked>
	<FreeformTreeDblClicked>
		<Group>Freeform-&lt;br&gt;Tree</Group>
		<meaning>鼠标双击树的某节点</meaning>
		<p>FreeformTree的id</p><p>数据的id</p>
	</FreeformTreeDblClicked>

	<MenuClicked>
		<Group>Toolbar</Group>
		<meaning>工具条对应的菜单项已选中</meaning>
		<p>菜单item的id</p>
	</MenuClicked>

	<MenuBeforePopup>
		<Group>菜单按钮</Group>
		<meaning>鼠标点击某动态菜单按钮之后、在将要弹出菜单之前</meaning>
		<p>按钮控件的id</p><p>该控件的menuID</p>
	</MenuBeforePopup>
	<MenuBeforePopup>
		<Group>菜单按钮</Group>
		<meaning>鼠标点击在 enableDefaultMenu="true" 的某动态菜单按钮的左侧</meaning>
		<p>按钮控件的id</p><p>该控件的menuID</p><p>Left</p>
	</MenuBeforePopup>
	<MenuBeforePopup>
		<Group>菜单按钮</Group>
		<meaning>鼠标点击在 enableDefaultMenu="true" 的某动态菜单按钮的右侧</meaning>
		<p>按钮控件的id</p><p>该控件的menuID</p><p>Right</p>
	</MenuBeforePopup>
	<MenuClicked>
		<Group>菜单按钮</Group>
		<meaning>菜单按钮的菜单项已选中</meaning>
		<p>菜单item的id</p>
	</MenuClicked>

	<Upload>
		<Group>文件上传</Group>
		<meaning>有文件上传成功</meaning>
		<p>文件顺序号</p><p>文件总数</p><p>见备注</p>
		<memo>如果是分块上传, p3参数是类似这样的串: "FileParts=33;CurrentFilePart=2;PassTime=00:02:33;RemainTime=00:01:30;Speed=50", 其含义如下：&lt;br&gt;
　　FileParts - 总块数;&lt;br&gt;
　　CurrentFilePart - 刚上传的块序号;&lt;br&gt;
　　PassTime - 已耗用的时间(时:分:秒);&lt;br&gt;
　　RemainTime - 估计还需要时间(时:分:秒);&lt;br&gt;
　　Speed - 测算到的网速，单位为 千字节/秒;&lt;br&gt;
　　此外，如果是将一个目录压缩成zip包上传，那么第一个Upload消息肯定是“Compressed=true”</memo>
	</Upload>
	<Upload>
		<Group>文件上传</Group>
		<meaning>文件上传过程中有异常</meaning>
		<p>　</p><p>　</p><p>　</p><p>异常信息</p>
	</Upload>

	<Upload>
		<Group>文件上传</Group>
		<meaning>异步方式调用全局函数 httpPostLocalFile 触发的</meaning>
		<p>本地文件名</p><p>服务器返回的串</p><p>硕正插件捕捉到的异常错误串</p>
	</Upload>
	<Download>
		<Group>文件下载</Group>
		<meaning>文件异步下载成功</meaning>
		<p>任务ID号</p><p>文件名(若toString=true则为内容串)</p>
	</Download>
	<Download>
		<Group>文件下载</Group>
		<meaning>文件异步下载失败</meaning>
		<p>任务ID号</p><p>&amp;nbsp;</p><p>错误信息</p>
	</Download>
	<Download>
		<Group>文件下载</Group>
		<meaning>文件异步下载中</meaning>
		<p>任务ID号</p><p>&amp;nbsp;</p><p>&amp;nbsp;</p><p>见备注</p>
		<memo>异步方式调用全局函数 Download 将触发本事件</memo>
		<memo>p4是类似这样的串:  "FileSize=1002034;CurrentSize=200030;PassTime=00:02:33;RemainTime=00:01:30;Speed=50", 其含义如下:&lt;br&gt;
　　FileSize - 文件总长度(字节);&lt;br&gt;
　　CurrentSize - 已下载的长度(字节);&lt;br&gt;
　　PassTime - 已耗用的时间(时:分:秒);&lt;br&gt;
　　RemainTime - 估计还需要时间(时:分:秒);&lt;br&gt;
　　Speed - 测算到的网速，单位为 千字节/秒</memo>
	</Download>
	<RButtonClicked>
		<meaning>鼠标右键点击</meaning>
		<p>右键点中 Object 的 ID 号 (也可能为空串), 若有多个ID, 则相互以逗号分隔</p>
		<memo>可以在本事件中调用全局函数 Menu 自行弹出菜单</memo>
	</RButtonClicked>
	<DataReach>
		<meaning>已经访问了 dataURL(包括 Load 函数访问) 并得到了数据，但尚未应用该数据</meaning>
		<p>内存块的句柄</p><p>URL</p>
		<memo>可以用全局函数 GetDataString / SetDataString 取得或更改内存块中的数据</memo>
		<memo>可以用上述2个函数存取数据，但不宜过多调用其它函数，否则会造成不稳定</memo>
	</DataReach>
	<DropDownDataReach>
		<meaning>某个异步加载数据的下拉已经获得了数据并已完成加载</meaning>
		<p>&lt;b&gt;某个下拉资源的 id&lt;/b&gt; - 表示此下拉数据已经到达&lt;br&gt;
&lt;b&gt;Complete!&lt;/b&gt; - 所有异步下拉的数据已全部到达</p>
		<memo>异步访问http的下拉列表、下拉树列表在初始加载数据时触发</memo>
		<memo>同步加载数据的下拉不会触发本事件</memo>
		<memo>当全部异步下拉都完成加载后，本事件会再次被触发，p1是固定的串 "Complete!"</memo>
	</DropDownDataReach>
	<HotKey>
		<meaning>触发了快捷键</meaning>
		<p>快捷键</p><p>id号,如果正在输入的话</p>
	</HotKey>
	<UserEvent>
		<meaning>全局函数 PostMessage 发出的自定义事件</meaning>
		<p>自定义</p><p>自定义</p><p>自定义</p><p>自定义</p>
	</UserEvent>
	<组件id.事件名>
		<meaning>内部的大粒度组件的事件</meaning>
		<p>和组件有关</p><p>和组件有关</p><p>和组件有关</p><p>和组件有关</p>
	</组件id.事件名>
</Freeform>

<Edit>
	<EditChanged>
		<meaning>当前输入有变化</meaning>
	</EditChanged>
	<BeforeDropdown>
		<meaning>下拉 Treelist 正准备下拉</meaning>
	</BeforeDropdown>
	<DropdownSelChanged>
		<meaning>下拉行被鼠标选择了</meaning>
		<p>1 - 数据有变化&lt;br&gt;0 - 数据无变化</p>
	</DropdownSelChanged>
	<ButtonClicked>
		<meaning>鼠标点到下拉 DropTreelist 弹出窗的自定义按钮上</meaning>
		<p>　</p><p>　</p><p>DropdownButton</p><p>自定义按钮的 id</p>
	</ButtonClicked>
	<EditKeydown>
		<meaning>键盘动作(请见备注1)</meaning>
		<p>键的ASCII码，例如回车是13、空格是32</p>
		<p>见备注2</p>
	</EditKeydown>
	<EditChar>
		<meaning>键盘字符(请见备注1)</meaning>
		<p>字符的ASCII码</p>
	</EditChar>
	<LooseFocus>
		<meaning>失去焦点</meaning>
	</LooseFocus>
	<DropDownDataReach>
		<meaning>异步加载数据的下拉已经获得了数据并已完成加载.&lt;br&gt;注：同步加载数据的下拉不会触发本事件</meaning>
		<p>下拉资源的 id</p>
	</DropDownDataReach>
	<UserEvent>
		<meaning>全局函数 PostMessage 发出的自定义事件</meaning>
		<p>自定义</p><p>自定义</p><p>自定义</p><p>自定义</p>
	</UserEvent>
</Edit>

<upload>
	<EditChanged>
		<meaning>上传的文件有变化(对话框关闭时)</meaning>
	</EditChanged>
	<Upload>
		<meaning>有文件上传成功</meaning>
		<p>序号</p><p>上传文件总数</p><p>见备注</p>
	</Upload>
	<Download>
		<meaning>请参见 Supcan Freeform组件 中的同名事件</meaning>
	</Download>
</upload>

<Chart>
	<Clicked>
		<meaning>鼠标点中某个数据项</meaning>
		<p>系列名</p><p>数据项ID</p><p>数值</p><p>百分比</p>
	</Clicked>
	<DblClicked>
		<meaning>鼠标双击某个数据项</meaning>
		<p>系列名</p><p>数据项ID</p><p>数值</p><p>百分比</p>
	</DblClicked>
	<UserEvent>
		<meaning>全局函数 PostMessage 发出的自定义事件</meaning>
		<p>自定义</p><p>自定义</p><p>自定义</p><p>自定义</p>
	</UserEvent>
</Chart>

<Tree>
	<SelChanged>
		<meaning>当前项变化</meaning>
		<p>ID</p><p>para值</p><p>text</p>
	</SelChanged>
	<Clicked>
		<meaning>鼠标单击某项</meaning>
		<p>ID</p><p>para值</p><p>text</p>
	</Clicked>
	<DblClicked>
		<meaning>鼠标双击某项</meaning>
		<p>ID</p><p>para值</p><p>text</p>
	</DblClicked>
	<RButtonDown>
		<meaning>鼠标右键点到某项</meaning>
		<p>ID</p><p>para值</p><p>text</p>
	</RButtonDown>
	<LazyLoad>
		<meaning>需要加载LazyLoad的节点了</meaning>
		<p>ID</p><p>para值</p><p>text</p>
	</LazyLoad>
	<Checked>
		<meaning>鼠标单击导致Check更改</meaning>
		<p>ID</p><p>CheckBox值(1/0)</p>
	</Checked>
	<BeginDrag>
		<meaning>鼠标开始拖拽</meaning>
		<p>ID</p><p>para值</p>
	</BeginDrag>
	<UserEvent>
		<meaning>全局函数 PostMessage 发出的自定义事件</meaning>
		<p>自定义</p><p>自定义</p><p>自定义</p><p>自定义</p>
	</UserEvent>
</Tree>

<Designer>
	<Saved>
		<meaning>点击了“保存”按钮</meaning>
		<p>ID号，当前的Freeform或Treelist的ID, 如果当前是最外层Freeform，则为空串</p><p>URL, 是当前Freeform或Treelist的URL</p>
	</Saved>
	<EventListDblClicked>
		<meaning>双击了工具箱的事件列表中的某个事件</meaning>
		<p>组件类型, 如"Freeform"</p><p>大粒度组件的ID, 空串表示当前未选中(即最外层)</p><p>事件名</p>
	</EventListDblClicked>
	<EventListRefreshed>
		<meaning>当前对象切换导致的工具箱的事件列表刷新</meaning>
		<p>ID, 空串表示当前是最外层Freeform</p>
	</EventListRefreshed>
	<ButtonClicked>
		<meaning>点击了工具箱中属性输入框中的右侧按钮</meaning>
		<p>ID</p><p>值串</p>
	</ButtonClicked>
	<EditChanged>
		<meaning>工具箱中URL输入框内容有变化 (仅右侧含按钮的场景)</meaning>
		<p>ID</p><p>修改后的串</p><p>修改前的串</p>
	</EditChanged>
	<UserProp_ButtonClicked>
		<meaning>EditWithButton型的自定义属性的输入框右侧小按钮被点击</meaning>
		<p>自定义属性的ID</p>
	</UserProp_ButtonClicked>
	<Toolbar>
		<meaning>鼠标点击了工具条中的某按钮</meaning>
		<p>功能号</p><p>参数，和功能号有关</p>
		<memo>可执行全局函数CalcelEvent( )阻止继续执行</memo>
	</Toolbar>
</Designer>
</events>
