Du kan ikke flytte 3-4 på en gang. Du er nødt til enten at slette den gamle item og Add eller Insert den igen eller bytte rundt på 2 item med Exchange (tror jeg den hedder, jeg har ikke Delphi her).
Jeg ved ikke om det hjælper dig, men måske kan du arbejde videre med denne metode.
procedure TForm1.ListBox1Click(Sender: TObject); var s : string; i : integer; begin with listbox1 do begin if itemindex > 0 then begin i := listbox1.itemindex; s := listbox1.items[i-1]; items[i-1] := items[i]; items[i] := s end end end;
Mit bedste bud er: Sæt mutiselect til true i listbox. Udfør følgende kode :
var i : integer; s : string; begin with listbox1 do for i := 1 to Items.Count - 1 do if Selected[i] then begin s := items[i]; items[i] := items[i - 1]; items[i - 1] := s end end;
Hvis du vil flytte mere end en gang tilbage (eller frem) skal
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.