Einzelnen Beitrag anzeigen

PeterPanino

Registriert seit: 4. Sep 2004
1.451 Beiträge
 
Delphi 10.4 Sydney
 
#1

Nachricht NACH dem Löschen eines ListView.Item erhalten?

  Alt 5. Aug 2012, 19:57
Hallo! Ich möchte eine Nachricht von einem Listview erhalten, NACHDEM ein Item aus der Listview gelöscht wurde. Ich habe folgenden Code probiert:
Delphi-Quellcode:
private
    { Private-Deklarationen }
    OriginalListViewWindowProc: TWndMethod;
    procedure ListViewWindowProcEx(var Message: TMessage);

procedure TForm1.FormCreate(Sender: TObject);
begin
  OriginalListViewWindowProc := MyListView1.WindowProc;
  MyListView1.WindowProc := ListViewWindowProcEx;
end;

procedure TForm1.ListViewWindowProcEx(var Message: TMessage);
begin
  if Message.Msg = CN_NOTIFY then
  begin
    if PNMHdr(Message.LParam)^.Code = LVN_DELETEITEM then
    begin
      // Funktioniert nicht, da das Item gelöscht wird,
      // NACHDEM die Nachricht gesendet wurde:
      Self.Caption := IntToStr(MyListView1.Items.Count);
    end;
  end;
  OriginalListViewWindowProc(Message);
end;
Es sollte die Anzahl der Items NACH dem Löschen angezeigt werden. Mit dem obigen Code wird aber die Anzahl der Items VOR dem Löschen des Items angezeigt!

Wie kann man also eine Nachricht NACH dem Löschen eines Items erhalten?

Geändert von PeterPanino ( 5. Aug 2012 um 20:00 Uhr) Grund: Typo
  Mit Zitat antworten Zitat