FMX TreeView部分显示CheckBox(父节点显示,子节点不显示)

本文介绍如何在Delphi中使用TreeView组件,并通过设置Node.OnApplyStyleLookup事件来控制不同类型的节点是否显示CheckBox。示例代码展示了如何根据节点的TagString属性决定是否隐藏CheckBox。

效果图:

TreeView 部分节点不显示CheckBox效果

// 显示TreeView.ShowCheckBoxes := True;
// 创建节点时给Node.OnApplyStyleLookup事件赋值

function TFrmMain.NewNode(ParentNode: TFmxObject; Text: string; ImgIdx: Integer): TTreeViewItem;
begin
  Result := TTreeViewItem.Create(Self);
  Result.Parent := ParentNode;
  Result.Text := Text;
  Result.ImageIndex := ImgIdx;
  Result.DisableDisappear := True;
end;

procedure TFrmMain.OnItemApplyStyle(Sender: TObject);
var
  Item: TTreeViewItem;
begin
  if Sender is TTreeViewItem then
  begin
    Item := Sender as TTreeViewItem;
    // 条件可以是Tag、TagString、Level等
    if Item.TagString = 'FIELD' then
      item.StylesData['check.Visible'] := False;// 样式表的中check不显示
  end;
end;

// 示例代码:表节点显示CheckBox,字段节点不显示CheckBox
var
  pitem, item: TTreeViewItem;
begin
  pitem := FrmMain.NewNode(nil, 'Table', -1);
  pitem.TagString := 'TABLE';
  pitem.OnApplyStyleLookup := FrmMain.OnItemApplyStyle;

  item := FrmMain.NewNode(pitem, 'Field Name');
  item.TagString := 'FIELD';
  item.OnApplyStyleLookup := FrmMain.OnItemApplyStyle;
end;

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值