gpt4 book ai didi

Delphi Listview onInsert 问题

转载 作者:行者123 更新时间:2023-12-03 19:05:18 24 4
gpt4 key购买 nike

我正在使用 2 个 ListView 并将项目从一个复制到另一个(使用下面的代码)但是当目标 ListView 的 onInsert 事件被触发时,传递的项目值始终为 nil 而不是新移动的列表项,有人可以指出我做错了什么?

Source.Items.BeginUpdate;
Destination.Items.BeginUpdate;
for i := Source.Items.Count - 1 downto 0 do
if Source.Items[i].Selected then
begin
Destination.Items.Add.Assign(source.Items[i]);
Source.Items[i].Delete;
end;
Source.Items.EndUpdate;
Destination.Items.EndUpdate;

谢谢

科林

最佳答案

我无法复制 OnInsertnil 调用元素。因此,我认为您的意思是,当 OnInsert被称为 Item 参数不具有源项目的属性(标题、数据、图像索引等)。原因是,当调用“OnInsert”时,尚未执行分配。

这条线

Destination.Items.Add.Assign(source.Items[i]);

类似于
var
Item: TListItem;
...
Item := Destination.Items.Add; // <- OnInsert is called here
Item.Assign(source.Items[i]);

关于Delphi Listview onInsert 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6258843/

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