Einzelnen Beitrag anzeigen

AlexII

Registriert seit: 28. Apr 2008
1.717 Beiträge
 
FreePascal / Lazarus
 
#1

Items der ListBox über die Grenzen verschieben?

  Alt 20. Mai 2011, 17:30
Hallo, hab da eine Frage wo ich nicht weiter komme. Also ich verschiebe wie folgt Items in einer ListBox, was auch gut klappt, aber wenn ich ein Item weit nach vorne oder hinten verschieben will scrollt sich die ListBox nicht automatisch nach oben oder unten mit. So muss ich ein Item verschieben, die ListBox scrollen, wieder verschieben und weiter scrollen, bis ich oben oder unten ankomme, was sehr nervig ist.

Delphi-Quellcode:
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  Accept := Source = ListBox1;
end;

procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var TargetIndex : Integer;
begin
  if (Sender is TTntListBox) and (Source is TTntListBox) then
  begin
    with Sender as TTntListBox do
    begin
      TargetIndex := ItemAtPos(Point(X, Y), True);
      if (ItemIndex > -1) then
      begin
        Items.Move(ItemIndex, TargetIndex);
        ListBox2.Items.Move(ListBox2.ItemIndex, TargetIndex);
        ListBox3.Items.Move(ListBox3.ItemIndex, TargetIndex);
        ListBox4.Items.Move(ListBox4.ItemIndex, TargetIndex);
      end;
    end;
  end;
end;
Bin Hobbyprogrammierer! Meine Fragen beziehen sich meistens auf Lazarus!
  Mit Zitat antworten Zitat