3
我需要拖放我的Tlistbox
內的多個項目。
我這裏指的是代碼是德爾福listbox拖放多個項目
var
StartingPoint : TPoint;
implementation
...
procedure TForm1.FormCreate(Sender: TObject) ;
begin
ListBox1.DragMode := dmAutomatic;
end;
procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer) ;
var
DropPosition, StartPosition: Integer;
DropPoint: TPoint;
begin
DropPoint.X := X;
DropPoint.Y := Y;
with Source as TListBox do
begin
StartPosition := ItemAtPos(StartingPoint,True) ;
DropPosition := ItemAtPos(DropPoint,True) ;
Items.Move(StartPosition, DropPosition) ;
end;
end;
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean) ;
begin
Accept := Source = ListBox1;
end;
procedure TForm1.ListBox1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer) ;
begin
StartingPoint.X := X;
StartingPoint.Y := Y;
end;
from here。
它工作正常,但我需要實現的是這樣的 。
爲什麼我想這是因爲有一定的順序對應於這些列表框項目。 因此,不是隻需手動選擇每個項目並拖放它,我想要啓用多個拖放。
任何意見,我該如何實現這一點表示讚賞。
也可以建議使用其他組件,如果以下可能使用相同的。
您正在使用以前版本的代碼。錯誤現在已修復。就像我說的,要想得到正確的令人驚訝的棘手問題! – 2012-02-07 13:39:07
非常感謝! :) – Shirish11 2012-02-09 07:50:47