Przesuwanie elementów listbox-a

0

Mam pytanie - jak można (możliwie bez dodatkowych komponentów) przesunąć myszką elementy listboxa (Aha, chodzi o to, zeby przesunąć juz po włączeniu programu ;-) )

0

Mam pytanie - jak można (możliwie bez dodatkowych komponentów) przesunąć myszką elementy listboxa (Aha, chodzi o to, zeby przesunąć juz po włączeniu programu ;-) )

Odsyłam do FAQ - drag&drop

0

Kurna, zrobilem cos takiego:

Var
itemText: String;
begin
  ItemText:= ColorsListBox.Items.Strings[DraggedItemIndex];
  If ColorsListBox.ItemAtPos(Point(X, Y), True) = ColorslistBox.Count -1 then
    Begin
      ColorsListBox.Items.Insert(ColorsListBox.ItemAtPos(Point(X, Y), True), ItemText);
      ColorsListBox.Items.Delete(DraggedItemIndex);      
      Exit;
    End;
  ColorsListBox.Items.Insert(ColorsListBox.ItemAtPos(Point(X, Y), True)+1, ItemText);
  ColorsListBox.Items.Delete(DraggedItemIndex);

Ale mi sie sypie jak probuje przeniesc itema na koniec listy :/
(DraggedItemIndex to index przeciaganego itemu...)
Nie moge znalezc tego bledu :/

0

moze add zamiast instert w przypadku gdy leci na koniec??

0
  APoint.X := X;
  APoint.Y := Y;
  Index := TListBox(Sender).ItemAtPos(apoint, True);
  IF Source.ClassType = TListBox Then
  IF TListBox(Source).ItemIndex >= 0 Then
  begin
    TListBox(Sender).Items.Insert(index,TListBox(Source).Items[TListBox(Source).ItemIndex]);
    IF Sender = Source Then TListBox(Source).Items.Delete(TListBox(Source).ItemIndex);
  End ;
  {IF Source.ClassType = TCheckBox Then
  TListBox(Sender).Items.Insert(index,TCheckBox(Source).caption);
  //w sumie nie pamietam do czego to bylo :P
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1