Einzelnen Beitrag anzeigen

Benutzerbild von Codewalker
Codewalker

Registriert seit: 18. Nov 2005
Ort: Ratingen
945 Beiträge
 
Delphi XE2 Professional
 
#1

Drag&Drop zum Virtual String Tree

  Alt 3. Mai 2012, 13:16
Ich habe einen VirtualStringTree, der per Drag&Drop Elemente aus einem ShellListview (von DevExpress) annehmen soll. Das DragOver ist kein Problem, aber ich habe im OnDragDrop nur DataObject: IDataObject . Wie komme ich denn an die Dateien mit Pfad, die gedroppt wurden?

Bisher habe ich
Delphi-Quellcode:
procedure TStructureFrame.StructureTreeDragDrop(Sender: TBaseVirtualTree;
  Source: TObject; DataObject: IDataObject; Formats: TFormatArray;
  Shift: TShiftState; Pt: TPoint; var Effect: Integer; Mode: TDropMode);
var
  aFmtEtc: TFORMATETC;
  aStgMed: TSTGMEDIUM;
  pData: PChar;
  res: HRESULT;
  I: Integer;
begin
  with aFmtEtc do
  begin
    cfFormat := CF_HDROP;
    ptd := nil;
    dwAspect := DVASPECT_CONTENT;
    lindex := -1;
    tymed := TYMED_HGLOBAL;
  end;
  OleCheck(DataObject.GetData(aFmtEtc, aStgMed));
  try
    pData := GlobalLock(aStgMed.hGlobal);
    ShowMessage(pData);
  finally
    GlobalUnlock(aStgMed.hGlobal);
    ReleaseStgMedium(aStgMed);
  end;
end;
Aber ich bekomme keine vernünftige Ausgabe...
  Mit Zitat antworten Zitat