30e107a7782d1f4cbb7fd2b9e3c193803bfbebfa.svn-base
3.63 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<HTML>
<head>
<meta http-equiv="content-type" content="text/html; charset=gb2312">
<link rel="stylesheet" href="../temp1.css" type="text/css">
<script type="text/javascript" src="functable.js"></script>
<script>
function gentable()
{
var xmlDoc = getXMLDoc("events.xml?81");
geneventtable('TagEvent', xmlDoc, 'Edit');
}
</script>
</head>
<body onLoad="gentable()" bgcolor=#ffffff vlink=#0000ff>
<div id="Tag70"/>
<Table cols=2 border=0 width=100%>
<col width=60%>
<col width=40%>
<tr height=91><td/><td><img src='../../res/tradechart.jpg'></td></tr>
</table>
<br>
<h3> <font color=#3366ff>Supcan Edit组件</font></h3><hr color=#2266ee size=1>
Supcan提供了一套小型输入组件,包括日期、数值的输入框、下拉富输入框,并能被插件/加载项展示到页面,弥补了纯HTML页面在这些方面交互能力的不足。<br>
实际上Supcan Edit是从Supcan Freeform中分离出来的: Freeform中的Input控件,使其能单独用于页面。<br>
<div id="Tag701"/><br><br><br>
<font style='font-size:15pt'>1.创建实例</font><hr color=#2266ee size=1>
Supcan Edit组件是通过插件/加载项创建的,所以应该用<a href="act.htm?81#Tag205" target=_blank>使用指南 \ 页面语法</a>中叙述的插件/加载项的页面创建语法创建,
<Object>中的某几个Param参数规则如下:<br>
<pre class='xml'>
<Object ...(略)>
<Param name="CtlName" value="<Font color=red>BCV1.Edit</Font>"> //固定
<Param name="ZipUrl" value="<Font color=red>BCV1.bin</Font>"> //也可以是绝对URL
<Param name="CtlPara" value="bgColor=white; datatype=date; border=client; value=2009.4.28; editmask=YYYY.MM.DD"> //例子
...</pre>
如果页面是直接调用dynaload.js,那么可能就是这样:<br>
<pre class='cpp'>insertEdit('AF', 'bgColor=white; datatype=date; border=client; value=2009.4.28; editmask=YYYY.MM.DD')</pre>
CtlPara参数决定了如何在页面上展现Supcan Edit实例,在上面的例子中,参数串中可包含多个子串,子串间以 ";" 分隔。<br>
子串的名值对的规范请参见<b>FreeForm XML文档规范</b>中的<a href="../format_freeform/main.htm?81#Tag121" target=_blank>Objects \ Input</a>,以及FreeForm中的Border、isUseContextFont参数.<br>
<div id="Tag702"/><br><br><br>
<font style='font-size:15pt'>2.函数</font><hr color=#2266ee size=1>
Supcan Edit的函数是通过插件/加载项的 func( string funcname, string paras ) 函数间接调用的,Supcan Edit组件的可用funcname如下:<br>
GetValue<br>
SetValue<br>
GetText<br>
BuildTreeList<br>
Load<br>
Filter<br>
GetHandle<br>
SelectCell<br>
SetDroplistProp<br>
函数使用方法和Supcan Freeform中Input控件非常相似,除了不需要第一个参数(ID参数),其它参数和返回值和Input控件几乎一样,请参见<a href="freeform1.htm?81#Tag1202" target=_blank>Supcan Freeform组件-函数</a>.<br>
注:SetDroplistProp函数调用方式稍有不同:参数不是以回车符分隔,而是以等号分隔.<br>
此外,本组件支持下拉Treelist的“扩展函数”,即通过本组件也能调用下拉Treelist的扩展函数,以及拥有和Treelist、Freeform完全一样的<a href="globalfunction.htm?81" target=_blank>全局函数</a>。<br>
<div id="Tag703"/><br><br><br>
<font style='font-size:15pt'>3.事件</font><hr color=#2266ee size=1>
Supcan Edit的OnEvent( id, Event, p1, p2, p3, p4 )事件含义及参数分别如下:<br>
<div id="TagEvent"></div>
<b>备注1</b>:EditKeydown和EditChar均为在输入框中的键盘事件,EditKeydown能捕获几乎所有键盘动作,包括非字符的回车、Tab等;而EditChar则以输入的字符为主,包括中文.<br>您可以用全局函数 CancelEvent( ) 去阻止继续执行,就如事件没有发生过那样,但不同的ASCII码,您需要在这二个事件中挑选一个执行CancelEvent( ),具体请在树列表的演示页“12.事件”中去测试;<br>
<b>备注2</b>:1-Ctrl键也按下了; 2-Shift键也按下了; 3-二者一起按下了.<br>
<br><br><br><br><br>
<script type='text/javascript' src='nstd.js'></script>
</body></html>