AGB  ·  Datenschutz  ·  Impressum  







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

Drag & Drop vom VST zum Explorer

Ein Thema von itashadow · begonnen am 9. Sep 2008 · letzter Beitrag vom 11. Sep 2008
 
itashadow

Registriert seit: 22. Apr 2008
Ort: Hattingen
86 Beiträge
 
#1

Drag & Drop vom VST zum Explorer

  Alt 9. Sep 2008, 14:29
Hi

ich hab da 2 VST auf meiner Form
der linke ist dazu da um eine Ordnerstruktur innerhalb des programmordners anzuzeigen
der rechte zeigt mir dateien(vorgänge\anfragen) an und dazugehörige reaktionen(antworten Kontrollnachrichten)

jetzt kam die anforderung das man per Drag&Drop die Dateien von der Dateianzeige zb auf den Desktop Droppen kann.

allerdings komm ich mit dem DoDragDrop vom Tvirtualtree nicht zurecht.

in der virtualtree unit steht:
Delphi-Quellcode:
procedure TBaseVirtualTree.DoDragDrop(Source: TObject; DataObject: IDataObject; Formats: TFormatArray;
  Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);

begin
  if Assigned(FOnDragDrop) then
    FOnDragDrop(Self, Source, DataObject, Formats, Shift, Pt, Effect, Mode);
end;
hab das nu versucht im onmousemove zu machen und so sieht es aus:

Delphi-Quellcode:
procedure TForm10.treeMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
const
  Threshold = 5;
var
  SelFileList: TStrings;
  i: Integer;
  DataObject: IDataObject;
  KOORDINATE: TPoint;
  Effect, Effect2: integer;
  node: pvirtualnode;
  daten: ptreedata;
  wordarray: tformatarray;
begin
  setlength(wordarray, tree.selectedcount);
  koordinate.X := x;
  koordinate.Y := y;
  with Sender as TVirtualStringtree do
  begin
    if (SelectedCount > 0) and (csLButtonDown in ControlState) then
      begin
      SelFileList := TStringList.Create;
      try
        SelFileList.Capacity := SelectedCount;
        node := tree.GetFirstSelected;
        for i := 0 to SelectedCount - 1 do
        begin
          wordarray[i] := i;
          while (tree.GetNodeLevel(node) > 0) and (node <> nil) do
          begin
            node.Parent;
          end;
          daten:= tree.GetNodeData(node);
          if Selected[node] then SelFileList.Add(daten.Dateiname);
          node := tree.GetNextSelected(node);
        end;
        DataObject := GetFileListDataObject(dragquelle, SelFileList);
      finally
        SelFileList.Free;
      end;

      Effect:= DROPEFFECT_COPY;
      DoDragDrop(sender, DataObject, wordarray, shift, koordinate, Effect, dmBelow);
    end;
  end;
end;
nu kann ich zwar noch wie gewollt die dateien in andere ordner reinziehen wenn ich die in der Ordneranzeige droppe allerdings kann ich ausserhalb von meiner form nichts droppen.

was muss ich tun?

ps. was muss eigentlich genau in mein wordarray rein?


schonmal danke
  Mit Zitat antworten Zitat
 


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 21:09 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz