AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Wieder einmal Drag & Drop

Ein Thema von mlspider · begonnen am 28. Dez 2005 · letzter Beitrag vom 28. Dez 2005
Antwort Antwort
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#1

Wieder einmal Drag & Drop

  Alt 28. Dez 2005, 13:50
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ß.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Wieder einmal Drag & Drop

  Alt 28. Dez 2005, 14:05
Du musst natürlich dein i auch verwenden. Zum Beispiel so:

ListBox1.Items.Add((Source as TFileListBox).Items[i]; Und bei mehreren musst du halt eine Schleife über die Items in Source machen und über die Eigenschaft Selected abfragen, ob der Eintrag ausgewählt ist. Wenn ja. Der anderen Listbox hinzufügen.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Wieder einmal Drag & Drop

  Alt 28. Dez 2005, 14:12
Jetzt ist die Verwirrung komplett.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#4

Re: Wieder einmal Drag & Drop

  Alt 28. Dez 2005, 14:17
Zitat von mlspider:
Jetzt ist die Verwirrung komplett.
Dein Problem ist doch, dass durch ListBox1.Items:=(Source as TFileListBox).Items; der Komplette Inhalt der ListBox übertragen wird. Um nur die ausgewählten Einträge zu übernehmen musst du also ein Schleife über die Einträge machen.

Delphi-Quellcode:
for Dummy:=0 to (Source as TFileListBox).Items.Count-1 do
begin
  if (Source as TFileListBox).Items.Selected[Dummy] then
    ListBox1.Items.Add( Source as TFileListBox).Items[Dummy]);
end;
In der Hoffnung, dich nicht noch mehr zu verwirren
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
mlspider

Registriert seit: 22. Okt 2003
Ort: Berlin
661 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Wieder einmal Drag & Drop

  Alt 28. Dez 2005, 14:35
Danke, hat geklappt.
Mario
Handbücher haben einen hohen Heizwert!!!

http://geprellte-ebay-kaeufer.de
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:00 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz