delphi - 如何获取 ListView 中的项目和子项目?

标签 delphi vcl listviewitem

我想在我的 ListView 中获取所有项目和子项目,但我得到的只是“TlistItem”

这是我的代码:

procedure TFrameAnalyzer.AddEntry(opcode:word;data:Array of byte;direction:byte);
begin
  MessageBox(0,PChar(sListView1.Items.Item[4].ToString),'',0);
end;

如何以字符串形式获取项目名称及其 2 个子项目的名称?

最佳答案

您无法获取项目的名称,因为它没有名称。它有一个 Caption不过,还有一个 SubItems TStrings 类型的属性.所有这些都可以在 Delphi 文档 BTW 中轻松找到。查看 TListItemTListItems类。

所以你可以做类似的事情

procedure TFrameAnalyzer.AddEntry(opcode:word;data:Array of byte;direction:byte);
var
  Item: TListItem;
  s: string;
begin
  Item := sListView1.Items.Item[4];
  s := Item.Caption + #13#10
    + '  ' + Item.SubItems[0] + #13#10
    + '  ' + Item.SubItems[1];
  MessageBox(0, PChar(s), nil, 0);
end;

省略了所有错误处理,如果不首先检查索引是否有效,您当然不应该以这种方式访问​​数组属性。

关于delphi - 如何获取 ListView 中的项目和子项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1148267/

相关文章:

delphi - 在 Delphi 中销毁表单的正确方法是什么?

Android - 获取 ListView 项目高度?

c# - 在 WPF C# 的 ListView 中将项目放入特定索引

delphi - 枚举类型和助手的可见性

windows - SPI_SETDISABLEOVERLAPPEDCONTENT

c++ - 在 C++ Builder 中覆盖事件处理程序

android - 单击后保持列表项的颜色

delphi - 编译完包后在哪里可以找到 bpl 文件?

web-services - delphi中的WSDL导入问题

Delphi:检测何时创建新表单