Home » Tipps & Tricks » Komponenten » TRichEdit/TMemo/TEdit » Item einer TListbox nach oben/unten bewegen

Item einer TListbox nach oben/unten bewegen

Folgende Prozeduren demonstrieren, wie Sie die Items einer Listbox nach oben oder unten bewegen. Dabei wird das Item, das sich über bzw. unter dem markierten befindet mit dem markierten Eintrag getauscht.Ein Item nach oben bewegen:

procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
  if Listbox1.ItemIndex > 0 then
    Listbox1.Items.Exchange(Listbox1.ItemIndex, Listbox1.ItemIndex-1);
end;

Ein Item nach unten bewegen:

procedure TForm1.SpeedButton2Click(Sender: TObject);
begin
  if (Listbox1.ItemIndex  -1) and (Listbox1.ItemIndex < Listbox1.Items.Count-1) then
    Listbox1.Items.Exchange(Listbox1.ItemIndex, Listbox1.ItemIndex+1);
end;

Möchten Sie mehrere Items auf einmal tauschen, kapseln Sie die Änderungen in ein BeginUpdate/EndUpdate-Konstrukt, um Flackern zu vermeiden. Mehr dazu finden Sie in den Verweisen.