| Delphi Tips & Tricks | softsale > Delphi Tips & Tricks |
| następna rada > | < poprzednia rada |
Jak przesunąć elementy listboxa metodą drag and drop ?
Ustaw własność DragMode ListBoxa na dmAutomatic (np na zdarzeniu OnCreate formy).
Obsłuż zdarzenia MouseDown, DragOver oraz DragDrop listboxa
.....
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;
......
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;
Ilustruje to przykład tip41.zip |
|
SOFTSALE - Oprogramowanie i Szkolenia softsale@softsale.com.pl 03-565 Warszawa , ul. Borzymowska 43 lok. 301C tel/fax:4084840,0607612428 |