… per Drag & Drop in eine andere Listbox kopieren?
Ich habe z.B. 5 Einträge in Listbox1 markiert.
Im DragDrop Ereignis der Listbox2 steht:
var i: integer;
begin
…
for i:= 0 to ListBox1.SelCount do Listbox2.Items.Add(ListBox1.FileName);
…
end;
Leider wird jetzt der zuletzt markierte Eintrag 5 mal
kopiert und nicht alle 5 Einträge.
Ich arbeite mit Delphi 5.
Danke schon mal im voraus.
Danke - es funktioniert fast - also hier erst einmal der Quelltext:
procedure TForm1.ListBox2DragDrop(Sender, Source: TObject; X, Y: Integer);
var i: integer;
begin
i:= FileListbox1.SelCount;
for i:= 0 to i-1 do Listbox2.Items.Add(FileListbox1.Items.strings[i]);
end;
aber:
wenn ich z.B. 4 Einträge markiert habe, werden auch 4 Einträge kopiert. Es sind aber immer die Einträge 1 bis 4, auch wenn ich z.B.
die Einträge 5 bis 8 selektiert hatte.
hast Du dir schon mal die Eigenschaften der Listbox angeschaut? Da gibt es neben SelectCount auch noch Selected[Index], d.h. Du musst deine Schleife so umbauen:
for i:=0 to FileListbox1.count-1 do begin
if FileListBox1.Selected[i] then
Listbox2.Items.Add(FileListbox1.Items.strings[i]);
end;
end;