请教一下RzChechTree控件的用法

jone7319 2011-02-23 01:50:23
1.如何创建一棵有三层节点的树,请给出例子,40分
2.如何判断某一层的节点是否被选中,请给出例子,40分
3.如何读取某一节点名,20分
...全文
78 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
jone7319 2011-02-24
  • 打赏
  • 举报
回复
这样做似乎不对,是不是要启遍历节点并判断所在层,如何确定是第几层的第几个节点?
RzCheckTree1->Items->AddChild(RzCheckTree1->Items->Item[3],"aaa");
jone7319 2011-02-24
  • 打赏
  • 举报
回复
再请教一下,如果在第一层的第三个节点上增加一下子节点如何做?
ccrun.com 2011-02-23
  • 打赏
  • 举报
回复
手头没有安装Raize组件. 但是rzCheckTree的用法, 用TTreeView基本相同, 自己猜一下就好了.
jone7319 2011-02-23
  • 打赏
  • 举报
回复
谢谢周药师,我去试看看,因为没用过这个控件
jone7319 2011-02-23
  • 打赏
  • 举报
回复
我试试格式代码看,刚才是不行的。

[code=C]/C++
ShowMessage("hello world!"); //test only
[/code]
周药师 2011-02-23
  • 打赏
  • 举报
回复
贴不了格式代码了??

测试一下
[code=C]/C++
int Level = 1 ; //层数, 顶层为0
[/code]
周药师 2011-02-23
  • 打赏
  • 举报
回复
1、创建一棵有三层节点的树
[code=C]/C++
void __fastcall TForm1::Button1Click(TObject *Sender)
{
TTreeNode * pNodes,*pNode1,*pNode2 ;
pNodes = RzCheckTree1->Items->Add(NULL, "商品类别");
pNode1 = RzCheckTree1->Items->AddChild(pNodes, "水果");
pNode2 = RzCheckTree1->Items->AddChild(pNodes, "蔬菜");
RzCheckTree1->Items->AddChild(pNode1, "苹果");
RzCheckTree1->Items->AddChild(pNode1, "雪梨");
RzCheckTree1->Items->AddChild(pNode2, "白菜");
RzCheckTree1->Items->AddChild(pNode2, "猪肉");
}
[/code]

2、如何判断某一层的节点是否被选中
判断第一层的哪些节点被选
[code=C]/C++
int Level = 1 ; //层数, 顶层为0
for(int i=0;i<RzCheckTree1->Items->Count;i++)
{
if(RzCheckTree1->Items->Item[i]->Level==Level)
if(RzCheckTree1->ItemState[i]== csChecked)
ShowMessage("第"+IntToStr(Level)+"层的"+RzCheckTree1->Items->Item[i]->Text+"被选中") ;
}
[/code]

3.如何读取某一节点名
获取索引为1的节点的节点名,并判断当前状态
[code=C]/C++
String Name = RzCheckTree1->Items->Item[1]->Text;
ShowMessage(Name);
if(RzCheckTree1->ItemState[1]== csChecked)
ShowMessage(Name+"被选中");
else
if(RzCheckTree1->ItemState[1] ==csPartiallyChecked)
ShowMessage(Name+"的子节点有被选择的");
else
ShowMessage(Name+"节点以及子节点都没有被选择中");
[/code]

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧