设为首页收藏本站

最大的系统仿真与系统优化公益交流社区

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2271|回复: 2

自己做的界面代码和源文件+简单讲解

  [复制链接]
发表于 2012-5-15 14:57:38 | 显示全部楼层 |阅读模式
本帖最后由 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

评分

参与人数 2仿真币 +40 收起 理由
domcylai + 20 看了老师的帖子,其余的神马都是浮云!!.
shadowwind + 20 很给力!

查看全部评分

 楼主| 发表于 2012-5-15 15:36:32 | 显示全部楼层
shadowwind 发表于 2012-5-15 15:13
帅哥,你太牛了,Flexsim就靠你们这些人来大力推广普及啊

还没达到推广的层次呢,不过这个东西实在不好弄呢,呵呵。准备抽空把experimenter搞一下,目标一是加入自己的功能,二是希望试用版也能用,呵呵
 楼主| 发表于 2012-5-15 15:38:03 | 显示全部楼层
下拉菜单的more...功能我给删除了,这样看着简单一点
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|SimulWay 道于仿真   

GMT+8, 2024-11-23 23:45 , Processed in 0.015857 second(s), 16 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表