델파이/델파이관련

Listbox Drag & Drop

지병철 2017. 9. 29. 13:04

var

  Form1: TForm1;

  NumX, NumY: Integer;


implementation


procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);

var

  Num1, Num2: Integer;

  Point1, Point2: TPoint;

begin

  Point1.X:=NumX;

  Point1.Y:=NumY;

  Point2.X:=X;

  Point2.Y:=Y;

  with Source as TListBox do

  begin

    Num2:=ListBox1.ItemAtPos(Point1,True);

    Num1:=ListBox1.ItemAtPos(Point2,True);

    ListBox1.Items.Move(Num2, Num1);

  end;

end;


procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;

  State: TDragState; var Accept: Boolean);

begin

  if Source=ListBox1 then Accept:=True;

end;


procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;

  Shift: TShiftState; X, Y: Integer);

begin

  NumY:=Y;

  NumX:=X;

end;