怎样把listview中文件拖到桌面(50分)

  • 主题发起人 主题发起人 ping
  • 开始时间 开始时间
P

ping

Unregistered / Unconfirmed
GUEST, unregistred user!
我常试做一个ftp软件,看起来就象资源管理器,左边是server
文件目录列表,右边是本地目录列表,
我想把左边的(server上的)文件图标直接拖到桌面或资源管理
器中(下载),但我该如何截获这个事件?
或者说如何实现过程?
把资源管理器中的文件拖到mylistbox中我已知道如何实现,
但反过来呢?
 
我回答的问题里面有如何把文件放入废纸篓
可以参考下!<a href="http://www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=93470">
www.gislab.ecnu.edu.cn/delphibbs/DispQ.asp?LID=93470</a>
 
可以使用 SHFileOperation(), 值得注意的是档名 list 中是以 #0 分隔, 最後一个项目必须以双 #0 字元结束,
以下分别是删除""个目录(含字目录) 与档案的用法示例:
// Test for delete a folder and move files into Recycle Bin
// Change the APath variable as you need. //
uses ..., ShellAPI;
procedure TForm1.Button1Click(Sender: TObject);

var APath : AnsiString;

lpFileOp: TSHFileOpStruct;

begin
APath := 'D:/temp/test123'#0#0;
// must end withdo
uble-#0
with lpFileOpdo

begin

Wnd := Self.Handle;
wFunc := FO_DELETE;

pFrom := pchar(APath);
pTo := nil;

fFlags := FOF_ALLOWUNDO;
hNameMappings := nil;

lpszProgressTitle := nil;
fAnyOperationsAborted := True;

end;
if SHFileOperation(lpFileOp) = 0 then
ShowMessage('SHFileOperation OK.')
else
ShowMessage('SHFileOperation Fail!!');

end;

档案s 删除并送至资源回收筒?
procedure TForm1.Button1Click(Sender: TObject);

var APath : AnsiString;

lpFileOp: TSHFileOpStruct;

begin
// must end withdo
uble-#0
APath :='D:/temp/test123/l.txt'#0'D:/temp/test123/l3.txt'#0#0;
with lpFileOpdo

begin

Wnd := Self.Handle;
wFunc := FO_DELETE;

pFrom := pchar(APath);

pTo := nil;
fFlags := FOF_ALLOWUNDO;

hNameMappings := nil;
lpszProgressTitle := nil;

fAnyOperationsAborted := True;

end;
if SHFileOperation(lpFileOp) = 0 then
ShowMessage('SHFileOperation OK.')
else
ShowMessage('SHFileOperation Fail!!');

end;
Good Luck!
 
实现IOLEDROPSOURCE
IOLEDROPTARGET
IOLEDROPDATA
IOLEDROPDATASOURCE
等ole接口
参见<<WINDOWS 95程序员指南>>
 
接受答案了.
 

Similar threads

回复
0
查看
1K
不得闲
D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部