Title: How to move items in a listbox
procedure LbMoveItemUp(AListBox: TListBox);
var
CurrIndex: Integer;
begin
with AListBox do
if ItemIndex 0 then
begin
CurrIndex := ItemIndex;
Items.Move(ItemIndex, (CurrIndex - 1));
ItemIndex := CurrIndex - 1;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LbMoveItemUp(ListBox1);
end;
// Move an item down
procedure LbMoveItemDown(AListBox: TListBox);
var
CurrIndex, LastIndex: Integer;
begin
with AListBox do
begin
CurrIndex := ItemIndex;
LastIndex := Items.Count;
if ItemIndex -1 then
begin
if CurrIndex + 1 then
begin
Items.Move(ItemIndex, (CurrIndex + 1));
ItemIndex := CurrIndex + 1;
end;
end;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
LbMoveItemDown(ListBox1);
end;