Drag and Drop entre 2 ListBox



Mettre en place le Drag & Drop entre 2 ListBox est assez simple. Commencez par placer 2 TListBox. Configurez la première de cette manière:

ListBox1

DragModedmAutomatic



Puis, mettez quelques éléments dans la propriété Items...

drag & drop

drag & drop



Pour la 2° ListBox, aucune propriété particulière à mettre en place. En revanche, mettez le code suivant dans l'évennement OnDragOver, pour définir les glissers-déposés à accepter:

OnDragOver

procedure TForm1.ListBox2DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  // N'accepte que les glissers déposés en provencance de la ListBox1
  Accept := (Source = ListBox1);
end;



Ensuite, mettez le code suivant dans le OnDragDrop, pour réaliser le déposer:

OnDragDrop

procedure TForm1.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
begin
  // Si ca provient de ListBox1
  if (Source = ListBox1) then
    begin
      // Alors on copie l'élément glissé
      ListBox2.Items.Add(ListBox1.Items[ListBox1.ItemIndex]);
    end;
end;





3 requête(s) SQL executée(s) en 0.001 Secs - Temps total de génération de la page : 0.006 Secs