Einzelnen Beitrag anzeigen

Benutzerbild von chaosben
chaosben

Registriert seit: 27. Apr 2005
Ort: Görlitz
1.358 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Neues Datenfehld bei TlistItem einer Listview

  Alt 23. Apr 2006, 11:51
Hi mimi!

Ich sehe da mindestens 2 Möglichkeiten.

1. Du leitest dir von TListItem eine Klasse ab, die deine zusätzlichen Wünsche befriedigt.
Delphi-Quellcode:
type
  TaMimiListItem = class(TListItem)
  private
    FLongPath : String;
  published
    property LongPath : String read FLongPath write FLongPath;
  end;
Diese Methode hat den Vorteil, das sie später recht einfach nutzbar ist, du bei der Zuweisung kontrollieren kannst, obs den Pfad überhaupt gibt(...) und dieses Vorgehen OOP-konform ist.

2. Du nutzt die "Data"-Eigenschaft der TListItem-Klasse. Das läuft dann so wie beim VST.
Delphi-Quellcode:
type
  TListItemData = record
    LongPath : String;
    //usw. Wenns nur ein Datenfeld ist, muss es kein Record sein
  end;
  PListItemData = ^TListItemData;
//...

//Neuer Listitem
var
  Li : TListItem;
  Data : PListItemData;
begin
  Li:=ListView1.Items.Add;
  New(Data);
  Li.Data:=Data;
  Data.LongPath:='c:\foo\bar.c';
end;
Hier musst du nun dran denken, das OnDeletion-Ereignis des Listviews zu bedienen um die Daten wieder freizugeben.
Benjamin Schwarze
If I have seen further it is by standing on the shoulders of Giants. (Isaac Newton)
  Mit Zitat antworten Zitat