我正在尝试将FMX.TreeView与CheckBoxes结合使用,但是找不到一种方法来识别引发TreeViewChangeCheck事件的项目。
我找到的所有解决方案都是关于带有TTreeNode类的VCL.ComCtrls TreeView,但是我正在使用FMX.TreeView。
有人可以帮助我吗?谢谢。
答案 0 :(得分:1)
OnChangeCheck
事件属于TNotifyEvent
类。其Sender: TObject
参数告诉您谁触发了事件。例如,以下代码
procedure TForm19.TreeView1ChangeCheck(Sender: TObject);
begin
ShowMessage(Sender.ToString);
end;
可能显示TTreeViewItem 'TreeViewItem5'
或者,如果您想更改该项目的属性,
procedure TForm19.TreeView1ChangeCheck(Sender: TObject);
begin
if Sender is TTreeViewItem then
if TTreeViewItem(Sender).IsChecked then
TTreeViewItem(Sender).Text := 'Checked'
else
TTreeViewItem(Sender).Text := 'Not checked';
end;
或者,如果您确实想要该项目的索引:
ShowMessage(IntToStr((Sender as TTreeViewItem).Index));