Ordenar un ListBox mediante Drag&Drop

2383 vistas

Para ordenar un ListBox mediante Drag&Drop sólo tendremos que poner su propiedad DragMode en dmAutomatic y codificar los eventos OnDragDrop y OnDragOver de la manera siguiente



delphi
  1. procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
  2. begin
  3.   with (Sender as TListBox) do
  4.     Items.Move(ItemIndex, ItemAtPos(Point(x,y), True));
  5. end;
  6.  
  7. procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
  8.   State: TDragState; var Accept: Boolean);
  9. begin
  10.   Accept := (Sender = Source);
  11. end;