Einzelnen Beitrag anzeigen

Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
177 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Nachträglich ListItem verändern

  Alt 11. Mär 2007, 16:48
Zitat von ManuMF:
Ich möchte folgendes:

1. Prozedur A - Item hinzufügen: Name "XYZ", Status "Beginne"
2. Prozedur B - Status verändert sich: "Beginne" -> "MacheWas")

Ich kann nicht mit dem Index arbeiten, einfachster Problemfall:

1. Item hinzufügen "XYZ"
2. Item hinzufügen "XYZ2"
3. Status ändern - würde das falsche Item ändern.

Deshalb brauche ich etwas, mit dem ich in der Prozedur B noch das Item erreiche. Ich dachte, das wäre über das Handle möglich.

@Gremlin: Wie meinst du das mit der ID?
hmm du kannst doch einfach die ID (den Data-Teil des TListItem) als
Identifiktionsmerkmal verwenden. Natürlich musst du wissen, welche
ID dann der Eintrag für Status "Beginne" hat

Delphi-Quellcode:
function AddToListItem(const Name, Status:string):integer;
begin
  // Tag der Listview als Zähler missbrauchen
  <DeineListview>.Tag := <DeineListview>.Tag+1;
  with <DeineListview>.Items.Add do begin
    Data := Pointer(<DeineListview>.Tag);
    Caption := Name;
    SubItems.Add(Status);
  end;
end;

function ChangeListItem(const Name, Status:string; Nr:integer):Boolean;
var
  i : integer;
begin
  Result := False;
  for i := 0 to Pred(<DeineListview>.Items.Count) do begin
    if (integer(<DeineListview>.Items[i].Data)=Nr) then begin
      Result := True;
      <DeineListview>.Items[i].Caption := Name;
      <DeineListview>.Items[i].Status := Status;
    end;
  end;
end;
Gruss Gremlin
  Mit Zitat antworten Zitat