这里的黄昏静悄悄
I Like C++
posts - 32, comments - 59, trackbacks - 0, articles - 2
IT博客
::
首页
::
新随笔
::
联系
::
聚合
::
管理
遍历Tree组件的所有节点【ActionScript】
Posted on 2006-05-29 09:42
这里的黄昏静悄悄
阅读(2740)
评论(0)
编辑
收藏
引用
所属分类:
Action Script
/**/
/*
描述:用Flash做帮助内容,演示一个流程,所以选择Tree组件显示所有的步骤,在演示中,需要做到:按照swf播放的内容,自动调整Tree中被选中的node,同时要调整滚动条的位置(如果有的话),另外Tree中的所有节点是可以随时被点击的,点击后跳到相关位置
*/
System.useCodepage
=
true
;
//
//
XML相关变量定义
var
node_xml:XML
=
new
XML();
node_xml.ignoreWhite
=
true
;
var
childNode:XMLNode;
//
定义消息监听对象
var
evt_listen:Object
=
new
Object();
evt_listen.change
=
function
(evt_obj:Object)
{
childNode
=
evt_obj.target.selectedItem;
_root.gotoAndPlay(childNode.attributes.data);
}
;
//
定义XML文件载入处理函数
node_xml.onLoad
=
function
(success)
{
if
(success)
{
//
设置Tree组件和XML文件的关联
navigate_tree.dataProvider
=
node_xml;
//
设置Tree组件的外观
navigate_tree.setSize(
170
,
550
);
//
显示水平滚动条
navigate_tree.hScrollPolicy
=
"
on
"
;
//
设置水平滚动条的最大值
navigate_tree.maxHPosition
=
50
;
//
设置第一个节点
childNode
=
navigate_tree.getTreeNodeAt(
0
);
}
else
{
//
给出提示
}
}
;
//
定义Tree组件节点的展开、选中函数
//
函数名 : expandTree
//
参数 : 无
//
返回值 : Void
//
作用 : 根据Flash播放的内容,选中树型控件中的节点,如果被选中节点含有子节点,则展开它,如果到了最后一个节点,则返回到第一个节点
//
function
expandTree():Void
{
//
选中节点
navigate_tree.selectedNode
=
childNode;
//
设置水平滚动条的滚动位置
if
(childNode.attributes.hPosition
!=
undefined)
{
navigate_tree.hPosition
=
Number(childNode.attributes.hPosition);
}
//
如果当前选中节点有子节点则展开它,并把下一个要选中的节点设置为当前节点的第一个子节点
if
(childNode.hasChildNodes())
{
navigate_tree.setIsOpen(childNode,
true
,
true
);
childNode
=
childNode.firstChild;
}
else
{
//
如果当前节点没有子节点,则设置下一个节点为同级节点中的下一个节点
if
(childNode.nextSibling
!=
null
)
{
childNode
=
childNode.nextSibling;
}
else
{
//
如果当前节点没有同级的下一个节点,则查找父级节点的下一个节点
while
(childNode.parentNode
!=
null
)
{
childNode
=
childNode.parentNode;
if
(childNode.nextSibling
!=
null
)
{
childNode
=
childNode.nextSibling;
break
;
}
}
//
如果已经到整个节点树的最后一个节点,则把下一个节点设置为最开始的一个节点
if
(childNode.parentNode
==
null
)
{
childNode
=
navigate_tree.getTreeNodeAt(
0
);
}
}
}
}
//
---------------------------------函数定义结束---------------------
//
开始初始化
navigate_tree.addEventListener(
"
change
"
, evt_listen);
node_xml.load(
"
makeSWF.xml
"
);
//
---------------------------初始化结束-------------------
只有注册用户
登录
后才能发表评论。
Powered by:
IT博客
Copyright © 这里的黄昏静悄悄
日历
<
2005年9月
>
日
一
二
三
四
五
六
28
29
30
31
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
1
2
3
4
5
6
7
8
公告
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
(32)
Action Script(3)
C/C++(9)
DataBase
Flex
MFC/SDK(1)
Script
密码学(1)
数据结构(1)
程序人生(17)
随笔档案
(32)
2006年6月 (2)
2006年5月 (1)
2006年4月 (3)
2006年2月 (1)
2005年11月 (2)
2005年10月 (4)
2005年9月 (3)
2005年8月 (7)
2005年7月 (8)
2005年6月 (1)
文章分类
(3)
C/C++
Life(2)
MFC
SDK(1)
All My Blog
CSDN Blog
CSDN blog
Flash技术Blog
flash技术和网页技术
新浪Blog
我的新浪blog
搜索
最新评论
1. re: 把数字转换成人民币大写形式【C/C++】
没有bug啊
--李鑫
2. re: 大小写转换的方法【C/C++】
c++ 大小字符,字母的转换,我需要帮助
--peaches
3. re: 把数字转换成人民币大写形式【C/C++】
很多BUG!!!!!!!!!!!!!!!!!!!!
--friendjiao
4. re: 用CFile实现文件拷贝
有没搞错啊,字都看不清楚太小了
--enjon
5. re: 哈希表及相关
gdjkg
--ZXOO
阅读排行榜
1. 把数字转换成人民币大写形式【C/C++】(10922)
2. 判断素数的几种方法思考(6875)
3. 大小写转换的方法【C/C++】(5901)
4. 哈希表及相关(5432)
5. 遍历Tree组件的所有节点【ActionScript】(2740)
评论排行榜
1. 偶的Gmail有50个邀请权限,有要的留言(38)
2. 大小写转换的方法【C/C++】(9)
3. 把数字转换成人民币大写形式【C/C++】(6)
4. 哈希表及相关(2)
5. 关于把C/C++代码转换成Html的思考(2)