gpt4 book ai didi

delphi - 向 firemonkey Treeviewitem 复选框添加功能//限制 Firemonkey 样式事件?

转载 作者:行者123 更新时间:2023-12-02 09:43:36 27 4
gpt4 key购买 nike

我使用以下方法向 Treeviewitem 的复选框添加功能。

function TForm.CreateTVObj:TTreeviewItem;
var
MyCheckbox:TCheckbox;
begin
try
result:=TTreeviewItem.create(nil);
result.Parent:=Treeview;

result.StyleLookup:='treeviewitemstyle';

MyCheckbox:= result.FindStyleResource('check') as TCheckbox;
//the functionality:
MyCheckbox.OnChange:= CheckBoxChange;

except
on e:exception do begin
ShowMessage('Error'+chr(13)+chr(13)+e.Message);
end;
end;
end;

现在我遇到以下问题:

它适用于有限数量的项目。如果我添加很多项目,checkboxchange 只会针对前 9-12 个项目触发

有限制吗?如果我从顶部开始检查它们,则只有前 12 个有效。如果我先点击最后一项,前 3 项也不起作用...

最佳答案

您可能会发现复选框的 OnChange 事件被 TreeView 内部 Hook 。

您需要 Hook TreeView 的 OnCheckChange。如果您使用 XE2,Sender 将是已更改的 ListBoxItem。

在 XE3 的早期版本中,它将是 TreeView 本身,您需要找到其他方法来查找更改的项目(即递归树元素并将它们的状态与原始数据进行比较)。

QC 显示此问题已在最近的更新中修复,但我还没有机会测试它 http://qc.embarcadero.com/wc/qcmain.aspx?d=109138

关于delphi - 向 firemonkey Treeviewitem 复选框添加功能//限制 Firemonkey 样式事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14832699/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com