certamente scrivero a devexpress.... nel frattempo sto continuanto a cercare in rete.
lato delphi, riesco a capire quando ci sono file nella clipboard che sono da tagliare (quindi eseguire un 'move' dei file) o da copiarwe (quendi eseguire un 'copy').
c'e' una sorta di flag da cui si evince l'azione da fare.
ancora, non ho capito come settare questo 'flag' come 'copy' o come 'move'
vi posto il codice che ho testato.
se volete provare in una form inserire Memo1 (Tmemo) e un button
codice:
procedure TFrameExplorer.Button1Click(Sender: TObject);
var
DropHandle, DropEffect, Effect : HDROP;
FileCount:Integer;
Counter:Integer;
FileName:array [0..MAX_PATH] of char;
const
DROPEFFECT_NONE = 0;
DROPEFFECT_COPY = 1;
DROPEFFECT_MOVE = 2;
DROPEFFECT_LINK = 4;
DROPEFFECT_SCROLL = $80000000;
begin
inherited;
Memo1.Lines.Clear;
OpenClipboard(0);
DropEffect := RegisterClipboardFormat('Preferred DropEffect');
DropHandle := GetClipboardData(CF_HDROP);
if DropHandle>0 then
begin
Effect := GetClipboardData(DropEffect);
if Effect=0 then Effect := DROPEFFECT_COPY
else Effect := PDWORD(Effect)^;
case Effect of
DROPEFFECT_COPY + DROPEFFECT_LINK:Memo1.Lines.Add('Copy');
DROPEFFECT_MOVE:Memo1.Lines.Add('Move');
end;
FileCount:=DragQueryFile(DropHandle,Cardinal(-1),nil,0);
for Counter := 0 to FileCount-1 do
begin
DragQueryFile(DropHandle, Counter, FileName, sizeof(FileName));
Memo1.Lines.Add(FileName);
end;
end;
CloseClipboard;
end;
grazie