AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Drag and Drop Anders Melander TreeList
Thema durchsuchen
Ansicht
Themen-Optionen

Drag and Drop Anders Melander TreeList

Ein Thema von oakley · begonnen am 11. Mär 2020 · letzter Beitrag vom 13. Mär 2020
Antwort Antwort
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#1

Drag and Drop Anders Melander TreeList

  Alt 11. Mär 2020, 23:44
Hallo zusammen,

ich habe hier eine TreeList mit einer Verzeichnisstruktur und ziehe Dateien aus dem Explorer mit folgendem Code hinein:

Code:
procedure TCSITEFORM.WMDROPFILES(var Msg: TMessage);
var
  DropH: HDROP;
  DroppedFileCount: Integer;
  FileNameLength: Integer;
  FileName: string;
  I: Integer;
  DropPoint: TPoint;
  AnItem : TcxTreeListNode;
begin
  case Msg.Msg of

    WM_DROPFILES : begin
        DropH := Msg.WParam;
        try
          DragQueryPoint(DropH, DropPoint);


          AnItem := DOCTREELIST.GetNodeAt(DropPoint.X, DropPoint.Y) ;
          if AnItem <> nil then
          begin
            DroppedFileCount := DragQueryFile(DropH, $FFFFFFFF, nil, 0);
            for I := 0 to Pred(DroppedFileCount) do
            begin
              FileNameLength := DragQueryFile(DropH, I, nil, 0);
              SetLength(FileName, FileNameLength);
              DragQueryFile(DropH, I, PWideChar(FileName), FileNameLength + 1);
              CreateNodefromDrop(AnItem, String(PWideChar(FileName)));
            end;
          end;
        finally
          DragFinish(DropH);
        end;
        Msg.Result := 0;
    end;
    else OldLBWindowProc(Msg);
  end;
end;
Das funktioniert einwandfrei nur möchte ich jetzt auch wie Dateien (Nodes) aus der Treelist in den Explorer zurück ziehen.
Ich habe mir dazu die Komponente von Anders Melander angeschaut und versucht die "Source Demo" an zu passen. Hier wird einfach eine Datei aus einer Liste in den Explorer gezogen (kopiert).
Ich habe eine FileDragSource aber ich bekomme das nicht so angepasst, denn ich benötige die Treelist sowohl als source als auch als target. Target mit dem Code oben um Dateien von außen hinein zu ziehen und in der Treelist zu "verschieben" und Source um Dateien in den Explorer zurück zu ziehen.
Ich nutze die vorhandenen Events wie onDragDrop zum "verschieben" der Dateien in die Verzeichnisse innerhalb der TreeList.
Die FileDropSource von anders Melander bringt das aber leider durcheinander und erlaubt das kopieren innerhalb der Treelist, was ich aber nicht möchte.
Ich dachte mir jetzt ich könnte die FileDropSource von Anders Melander erst beim Verlassen der TreeList aktivieren aber sobald ich einen Node ziehe feuet onExit und onMouseLeave sofort.
Geht also nicht.

LG

Mirko

Geändert von oakley (12. Mär 2020 um 00:45 Uhr)
  Mit Zitat antworten Zitat
oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#2

AW: Drag and Drop Anders Melander TreeList

  Alt 13. Mär 2020, 16:20
Wäre es eventuell günstiger auf die "Standardevents" zu verzichten und nur die Komponenten von Anders Melander zu verwenden?

Wenn ja, wie kann ich dann die Dateien in "Untervezeichnissen" der TreeList verschieben?

LG

Mirko
  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 11:56 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