Zitat von
SirThornberry:
dann wurde das fenster wohl intern in der zwischenzeit neu erzeugt. Setz mal einen Button aufs Form und ruf im OnClick davon das DragAcceptFiles auf. Dann weißt du ob es daran liegt das jenes Fenster(im Sinne von Windows) inzwischen neu erzeugt wurde.
habs nu ins on show gesetzt und er würde mir auch erlauben etwas zu droppen...
allerdings springt er nicht mehr ins wmdropfiles:
procedure WMDROPFILES(var Msg: TMessage); Message WM_DROPFILES;
Delphi-Quellcode:
procedure tform10.WMDROPFILES(var Msg: TMessage);
var
stringlist : tstringlist;
herkunftsort, dateiname: string;
i, dateilaenge: integer;
node: PVirtualNode;
pdata: ptreedata;
begin
stringlist := tstringlist.create;
if length(dragquelle) < 5 then exit;
if form10.GetFilesDropped(Msg.WParam, stringlist) then
begin
for i := 0 to stringlist.Count-1 do
begin
dateiname := extractfilename(stringlist.Strings[i]);
dateilaenge := length(dateiname);
if dateiname[dateilaenge-3]+dateiname[dateilaenge-2]+dateiname[dateilaenge-1]+dateiname[dateilaenge] = '.txt' then
begin
herkunftsort := copy(stringlist.Strings[i],0,length(stringlist.Strings[i])-length(dateiname));
if dragquelle[length(dragquelle)] <> '\' then dragquelle := dragquelle +'\';
form10.CopyFileEx(herkunftsort +dateiname,dragquelle+dateiname);
hilfsmethoden.verschiebeninibearbeiten(herkunftsort,dateiname,dragquelle);
end else if dateiname[dateilaenge-3]+dateiname[dateilaenge-2]+dateiname[dateilaenge-1]+dateiname[dateilaenge] = '.xls' then
begin
end;
end;
end;
end;