schau Dir mal diesen Code an:
Ich hatte bei diesem Projekt statt der normalen ListBox die LMDListBox aus den LMD-Tools verwendet, die Vorgehensweise ist jedoch dieselbe.
Code:
procedure TMainForm.LMDListBox1DragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);
begin
if Source is TLMDListBox then
Accept := true;
end;
procedure TMainForm.LMDListBox1DragDrop(Sender, Source: TObject; X,
Y: Integer);
var
i: integer;
begin
i := LMDListBox1.ItemAtPos (Point(x,y),true);
if i > -1 then
begin
LMDListBox1.Items.Move (Zeile ,i);
end;
end;
procedure TMainForm.LMDListBox1MouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
LPos: integer;
begin
LPos := LMDListBox1.ItemAtPos (Point(x,y),true) ;
if LPos > -1 then
begin
try
Zeile := LPos;
LMDListBox1.BeginDrag (false);
// sonstwas machen ...
except
// oder auch nicht...
end;
end;
end;
by Daniel B; Form.