Do LeWy:
Mialem napisac o tym wiecej, ale nie mam czasu sie tym zajac,
przedstawiam Ci droge postepowania:
DragIndex: integer - dowolna zmienna do przechowywania indeksu do przesuniecia.
W OnMouseDown Listbox'a:
DragIndex := ListBox1.ItemIndex;
W OnMouseUp Listbox'a:
if ListBox1.ItemIndex<=DragIndex then begin
ListBox1.Items.Insert(ListBox1.ItemIndex, ListBox1.Items[DragIndex]);
ListBox1.Items.Delete(DragIndex+1);
end else begin
ListBox1.Items.Insert(ListBox1.ItemIndex, ListBox1.Items[DragIndex]);
ListBox1.Items.Delete(DragIndex);
end;
Musisz to sprawdzic i dopracowac (prawdopodobnie bedzie kasowal nie to co trzeba)
powodzenia
Astacus (D5 Pro)
P.S.: Niekiedy nie mozna odpowiadac w watku...