问一个关于TTreeView控件中树节点所带数据的问题

zhyq 2001-07-19 10:56:23
在我的程序中,我把TTreeView控件所创建的树的每一个节点都让它带上了数据值(即定义了TTreeNode的Data属性),在这些节点中,我把它们分成两类,所带的数据类型不同,我想请问的是在程序中我该如何判断这些节点属于哪一数据类型?也就是如何判断指针类型的问题?
...全文
142 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhyq 2001-07-20
  • 打赏
  • 举报
回复
谢谢各位,问题解决
victorchen_2000 2001-07-19
  • 打赏
  • 举报
回复
leeyansheng(风妖精) 的做法必须用类才可以。
qin_wei(烤毛蛋) 的做法可以用
「已注销」 2001-07-19
  • 打赏
  • 举报
回复
我想除非你额外加标志

你自己预先清楚是什么类型

否则是无法判断类型的吧

@_@
red_eyes 2001-07-19
  • 打赏
  • 举报
回复
你们2个在做什么?有钱可以抢么?
leeyansheng 2001-07-19
  • 打赏
  • 举报
回复
对不起,我写错了一个地方
dynamic_case 应该是 dynamic_cast
qin_wei 2001-07-19
  • 打赏
  • 举报
回复
leeyansheng(风妖精) 跟我抢分,揍死你!!!!
qin_wei 2001-07-19
  • 打赏
  • 举报
回复
方法二补充:
struct st1
{
byte flag
...

}
struct st2
{
byte flag
...

}

if(*((byte*)Data)==0)
{
}
else
{
}
leeyansheng 2001-07-19
  • 打赏
  • 举报
回复
你是无法判断指针类型的问题的。但是有一种方法。
你可以把你自己定义的类赋给 Data属性
然后
伪代码
自定义类1 * p1;
自定义类2 * p2;
p1 = (dynamic_case)< 自定义类1 * >( TreeNode->Data );
if ( p1 ) // 说明Data的指针是自定义类1
{
//加入自己的处理
}
p2 = (dynamic_case)< 自定义类1 * >( TreeNode->Data );
if ( p2 ) // 说明Data的指针是自定义类2
{
//加入自己的处理
}


qin_wei 2001-07-19
  • 打赏
  • 举报
回复
方法一,根据pNode的图标号区分Data的结构类型
方法二,如果图号一样可以设定两个数据结构头一个byte 为标识。
jixian 2001-07-19
  • 打赏
  • 举报
回复
扑!我靠。。。
溅了一身血。。。。。
wu_gf 2001-07-19
  • 打赏
  • 举报
回复
楼上有人打架喽!快来看热闹啊!@_@

13,822

社区成员

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

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