AGB  ·  Datenschutz  ·  Impressum  







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

Drag & Drop von Listbox in Explorer

Ein Thema von Aurelius · begonnen am 14. Jan 2008 · letzter Beitrag vom 17. Jan 2008
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#1

Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 07:13
Hi DPler

ich habe versch. Einträge in einer normalen Listbox. Hinter jedem Eintrag "versteckt" sich ein kompletter Pfad zu einer Datei. Wie kann ich es nun realisieren dass, wenn ich einen Eintrag per Drag & Drop in den Explorer ziehe, die jeweilige Datei in den jeweiligen Ordner zu kopieren?

Gefunden habe ich dazu bis jetzt nur http://swissdelphicenter.ch/de/showcode.php?id=2335, aber das funktioniert so ja nicht mit einer Listbox. Eigenlich muss ich nur wissen wie ich den Pfad des Ordners, in den ich hineindragge, herausbekomme. Den Rest kann ich ja mit FileCopy(oder wie der Befehl jetzt heißt) machen.
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 11:05
Zitat von xX0815Xx:
aber das funktioniert so ja nicht mit einer Listbox.
Hi,

IMHO brauchst du nur den Code an der Stelle
Delphi-Quellcode:
      SelFileList := TStringList.Create;
      try
        SelFileList.Capacity := SelCount;
        for i := 0 to Items.Count - 1 do
          if Selected[i] then SelFileList.Add(Items[i]);
im Ereignis onMouseMove in der ListBox anpassen. Also du übergibst der SelFileList deine versteckten Pfade zu den Dateien.
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#3

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 11:08
Bie dieser Zeile funktioniert das ganze aber nicht.
DoDragDrop(DataObject, Self, DROPEFFECT_COPY, Effect);DoDragDrop(DataObject, Self, DROPEFFECT_COPY, Effect);
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 11:15
Was funktioniert nicht, kommt eine Fehlermeldung oder kannst du das Programm nicht kompilieren?
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#5

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 11:20
Beim Kompilieren kommt dann:

Inkompatible Typen: Listbox und pDropSource
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von bitsetter
bitsetter

Registriert seit: 17. Jan 2007
1.169 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 12:03
Das kommt, weil du TForm1 = class(TForm, IDropSource) vergessen hast. Hier das Programm dazu, wie du siehst geht es auch mit einer Listbox.
Angehängte Dateien
Dateityp: zip dragdroplistbox_429.zip (11,1 KB, 52x aufgerufen)
Gruß bitsetter
"Viele Wege führen nach Rom"
Wolfgang Mocker (geb. 1954), dt. Satiriker und Aphoristiker
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#7

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 12:44
Super, danke schön
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#8

Re: Drag & Drop von Listbox in Explorer

  Alt 14. Jan 2008, 20:06
So, ich hab mal versucht das Ganze in mein Programm einzubauen nur leider funktioniert es nicht.
Delphi-Quellcode:
    if (SelCount > 0) and (csLButtonDown in ControlState)
      and ((Abs(X - FDragStartPos.x) >= Threshold)
      or (Abs(Y - FDragStartPos.y) >= Threshold)) then
      begin...
Hier kommt nie ein TRUE bei mir raus, ergo arbeitet er die folgenden Befehle nicht ab.

Ich habe so die Vermutung, dass der Grund dafür der ist dass ich auch folgenden code nutze: http://www.delphipraxis.net/internal...869&highlight=
Jonas
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#9

Re: Drag & Drop von Listbox in Explorer

  Alt 16. Jan 2008, 07:35
*push*
Jonas
  Mit Zitat antworten Zitat
NickelM

Registriert seit: 22. Jul 2007
Ort: Carlsberg
445 Beiträge
 
Delphi 2009 Professional
 
#10

Re: Drag & Drop von Listbox in Explorer

  Alt 16. Jan 2008, 08:18
Also ich glaube es liegt in der If..then Anweisung. Du kannst mit Klammern festlegen, was zusammen gehört und was nicht.

Du willst ja das die obere Zeile und die 2 Unteren Zusammen gehörten, dann must du das so machen

if ((SelCount > 0) and (csLButtonDown in ControlState))
and (((Abs(X - FDragStartPos.x) >= Threshold)
or (Abs(Y - FDragStartPos.y) >= Threshold))) then
begin...

Oder habe ich es falschverstahnden???
Nickel
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 12:36 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