Идёт загрузка страницы...

htp://aptem.net.ru





Delphi 1

Изменение позиций элементов ListBox с помощью drag&drop IV

Вот еще одна вариация сабжа.


   
procedure TPickParty.PickListBMouseDown(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);

begin
if Button = mbLeft then
with Sender as TListBox do
begin
DraggedPM:= ItemAtPos(Point(X,Y), True);
if DraggedPM >l;= 0 then BeginDrag(False);
end;
end;

procedure TPickParty.PickListBDragOver(Sender, Source: TObject; X,
Y: Integer; State: TDragState; var Accept: Boolean);

begin
if Source = PickListB then Accept:= True;
end;

procedure TPickParty.PickListBDragDrop(Sender, Source: TObject; X,Y: Integer);
var NewIndex: integer;
begin
NewIndex:= PickListB.ItemAtPos(Point(X,Y), False);
if NewIndex > PickListB.Items.Count-1 then
NewIndex:= PickListB.Items.Count-1;
PickListB.Items.Move(DraggedPM, NewIndex);
PickListB.ItemIndex:= NewIndex;
end;

- Peter Donnelly [000756]