如何在列表视图中获取项目和子项目?

Iva*_*nov 1 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;
Run Code Online (Sandbox Code Playgroud)

如何将项目的名称作为字符串以及它的2个子项目的名称?

mgh*_*hie 5

您无法获取该项目的名称,因为它没有名称.它有一个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;
Run Code Online (Sandbox Code Playgroud)

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