TfcTreeView谁用过?

bulletCoderHope 2007-10-16 04:36:25
使用了其fcTreeView1种所有的节点的CheckboxType都是tvctRadioGroup单选类型

如何才能做到任何时候,不管任何level都只能有且仅有一个节点被选中
也就是说,选种之后再去选其他任何节点,原来的节点checked:=false;
...全文
211 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
bulletCoderHope 2007-10-27
  • 打赏
  • 举报
回复
//终于实现了,共享一下
procedure TfmeEvtReg.tvEvtTypeToggleCheckbox(TreeView: TfcCustomTreeView;
Node: TfcTreeNode);
var
i : integer;
begin
tvEvtType.OnToggleCheckbox := nil;

for i := 0 to tvEvtType.Items.Count -1 do
begin
if Node <> tvEvtType.Items[i] then
begin
tvEvtType.Items[i].Checked := False;
end;
end;

tvEvtType.OnToggleCheckbox := tvEvtTypeToggleCheckbox;
end;
goldli 2007-10-22
  • 打赏
  • 举报
回复
你标记一下上次选中的 TfcTreeNode,当再次选择一个 TfcTreeNode 时判断一下是不是上次选的,是 就不用管,不是,就把上你的checked:=false,本次选的true;
bulletCoderHope 2007-10-20
  • 打赏
  • 举报
回复
没有人做过这种需求吗?
所有的节点中,有且仅有一个节点被选中
bulletCoderHope 2007-10-20
  • 打赏
  • 举报
回复
vb的treeview有个nodeclick事件,估计实现这个就容易办到了,而且vb的treeview很多的事件中都会有离开前的node对象的,在delphi就不知道怎么做到这点了,学delphi不久,才做了两个项目
bulletCoderHope 2007-10-18
  • 打赏
  • 举报
回复
顶,这个问题我迟早都得要解决啊,现在只是搁在那做其它模块的功能而已
bulletCoderHope 2007-10-17
  • 打赏
  • 举报
回复
使用如下过程失败:
procedure TfmeEvtReg.tvEvtTypeToggleCheckbox(TreeView: TfcCustomTreeView;
Node: TfcTreeNode);
var
i:integer;
begin
for i:=0 to tvEvtType.items.count-1 do
begin
if tvEvtType.items[i].Checked then
begin
tvEvtType.items[i].Checked:=false;
break;
end;
end;
end;
使用onchange事件也失败
bulletCoderHope 2007-10-17
  • 打赏
  • 举报
回复
任何情况下执行选中一个节点,居然这么难做,真是晕
supercc 2007-10-17
  • 打赏
  • 举报
回复
学习~~
bulletCoderHope 2007-10-16
  • 打赏
  • 举报
回复
这个事件我用过,不同level的可以选中多个
hongqi162 2007-10-16
  • 打赏
  • 举报
回复
好像是ontoggle事件
hongqi162 2007-10-16
  • 打赏
  • 举报
回复
选中某个节点的时候遍历一下,把同级别的checked:=false;


5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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