Hallo,
ein alt bekanntes Problem. Ich möchte mit einer FileListBox und einer ListBox Drag & Drop realisieren. Soweit funktioniert es auch. Leider wird beim ziehen und fallen lassen einer Datei, der gesamte Inhalt des Ordners abgelegt.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
ListBox1.OnDragOver := ListBox1DragOver;
Listbox1.Dragmode := dmAutomatic;
ListBox1.MultiSelect := true;
FileListbox1.Dragmode := dmAutomatic;
FileListBox1.MultiSelect := true;
end;
procedure TForm1.ListBox1DragOver(Sender, Source: TObject; X, Y: Integer;
State: TDragState; var Accept: Boolean);
begin
accept := (Source is TFileListBox) and (sender<>Source);
end;
procedure TForm1.ListBox1DragDrop(Sender, Source: TObject; X, Y: Integer);
var i: Integer
begin
if Source is TFileListBox then
begin
i:=(Source as TFileListBox).ItemIndex;
ListBox1.Items.Add((Source as TFileListBox).Items[i]);
end;
end;
end.
Könnte es sein, dass hier noch irgendwas fehlt?
PS: Das Ziehen mehrerer Dateien gleichzeitig ist ein muß.