Изменение позиций элементов ListBox с помощью Drag and Drop
Автор: Peter Donnelly
Вот еще одна вариация сабжа.
Code: |
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; |
https://delphiworld.narod.ru/
DelphiWorld 6.0
Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.
ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!