|
本帖最后由 dalincai 于 2012-5-15 15:02 编辑
A、button对应的textbox链接hotlink为“@>test”,此窗口根节点属性下的test节点(文本节点)
B、labeltableview对应的表格为根节点属性下的data节点(row 2下对应的节点为文本节点),viewfocus为“@>data”
C、下拉列表的选项在其属性树下items节点下,自己可以编辑添加
D、该方法只是设置节点文本为随机函数,使用时参考double time=executestring(textnode,NULL,NULL,NULL);其中textnode
为含有随机函数的节点
E、单击模型控制按钮,可以调出该窗口
代码说明如下,在模型中也可以查看说明
1、button 的onpress 代码
setcurrent(node("../pickoptions",c));//设置current路径,对应下拉列表
setitem(node("../eidtor", c));//设置item路径,对应编辑框
sets(node(">curfocus",current), nodetopath(item));
//设置编辑框的路径到curfocus,该节点是自己添加的,在下拉列表onselect事件中使用
//以下代码设置下来菜单的位置,编辑框正下方
.
.
.
//显示下拉框,重绘窗口
windowshow(windowfromnode(current), 1);
repaintview(c);
repaintview(current);
2、pickoptions(下拉列表)的onselect代码
windowshow(windowfromnode(c), 0);//隐藏下拉列表
treenode edit = node(gets(node(">curfocus", c)));//设置编辑框的路径
setcurrent(node(gets(node(">hotlink", edit)),c));//设置current的路径
setviewtext(edit, getnodename(rank(node(">items",c),get(itemcurrent(c)))));//设置编辑框的内容为所选选项
setnodestr(current, getnodename(rank(node(">items",c),get(itemcurrent(c)))));//设置编辑框的hotlink节点文本为所选选项
applytoedits(edit, current);//这句可以不要
//重绘窗口
repaintview(edit);
keyboardfocus(edit);
3、Attributes也有一个OnClick节点,该节点代码的作用是单击panel的时候隐藏下拉菜单
4、labeltableview属性下的OnClick代码节点(任何改动需右键Built-->Built Node FlexScript或者在Build菜单上,才能生效)
setcurrent(node("/pickoptions",c));//设置current的路径
setitem(selectedobject(c));//设置单击到的单元格或者其他为item
if( objectexists(item) && //单击的物体存在
up(up(item))==node(">viewfocus+",c) //单击到的物体上两层节点(如果是单元格,上两层应该是表格节点)和viewfocus路径指向的是同一个
&& eq(getrank(up(item)), 2) ) // 单击的物体在第二行(相当于getrank(up(item))== 2,getrank(item)==2就是第二列)
//以下为设置窗口位置,表格窗口可能会有滚动条,所以复杂一点
.
.
.
else //如果以上条件都不满足,隐藏下拉菜单
windowshow(windowfromnode(current), 0);
5、onselect代码与botton的相似
6、窗口打开的时候,下拉列表应该隐藏。在窗口的属性树下面添加一个PageOnOpen的Flexscipt节点,添加以下代码
windowshow(windowfromnode(node("/labeltableview/pickoptions",c)), 0);
windowshow(windowfromnode(node("/Attributes/pickoptions",c)), 0); |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
评分
-
查看全部评分
|