Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#8

Re: Items in einer Listbox verschieben

  Alt 7. Okt 2003, 18:58
Für Anfänger empfehle ich die Sache mit den Schalter.

Und die andere Sache (Drag&Drop) ist nicht so einfach...

1. Stelle DragMode der Liste auf dmAutomatic.
2. Lege das Ereignis DragOver der ListBox an
Delphi-Quellcode:
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
  State: TDragState; var Accept: Boolean);
begin
  // AutoScroll und anzeigen wo der Eintrag hin soll
  // ganz du ja später klären
  // das ist das komplizierte daran
  Accept := Source = ListBox1; // bist du eintrag von mir
end;
3. Lege das Ereignis DragDrop der ListBox an
Delphi-Quellcode:
procedure TForm1.PWListBox1DragDrop(Sender, Source: TObject; X,
  Y: Integer);
var iNewPos : Integer;
begin
  with PWListBox1 do
    begin
      iNewPos := ItemAtPos(Point(x, y), true); // ermittle Eintrag unter maus
      if iNewPos = -1 then // kein Eintrag darunter
         iNewPos := Items.Count - 1; // also werde letzter
      Items.Move(ItemIndex, iNewPos); // Neue Position
      ItemIndex := iNewPos;
    end;
end;
Lies die Hilfe noch mal dazu ...
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat