2009-07-18 103 views
1

我想在我的列表視圖的所有項目和子項目,但我得到的是「TlistItem」如何獲取listview中的項目和子項目?

這裏是我的代碼:

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

我如何獲得該項目的名稱爲字符串和它的名字是2個子項?

+0

我不確定,但是winforms標籤真的合適嗎?如果(如我所假設的)你使用的是Delphi 2009,它不會。 – mghie 2009-07-18 19:39:49

回答

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; 

所有的錯誤處理忽略,你當然應該沒有首先檢查索引有效以這種方式訪問​​數組屬性。

+0

通過刪除括號和逗號分隔符,前面的項目用「+#13 +」和子項目用「+」#13 +「 – Argalatyr 2009-07-18 19:28:38

相關問題