Title: Items of ListBox with drag and drop
Use Move method of the ListBox1.Items for the changing position of the item in a list.
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;