发信人: limodou@GZ()
整理人: delfan(2001-03-30 21:55:10), 站内信件
|
标 题: Re: DELPHI如何接受文件的拖拉,如何得到拖过来的文件的文件名? 发信站: 网易虚拟社区 (Mon Feb 28 00:04:04 2000), 站内信件
【 在 powerjeep (恋曲2000) 的大作中提到: 】
: 在ONDRAGOVER事件中应该怎么判断呢?
: 还有,就是象NetAnts那样的在IE中拖动一个链接
: 到小窗口中,那么小窗口中的ondragover和ondragdrop事件的代码
: 怎么写呢?
: .......
你所说的只能实现form里的控件的拖动。如下作:
1. 使用单元shellapi
可在interface中的uses后面加入对shellapi单元引用
2. 在窗体的Oncreate事件中加入
DragAceptFiles(handle, true); //是窗体的句柄
3. 在窗体的OnDestroy事件中加入
DragAceptFiles(handle, False); //是窗体的句柄
4. 在窗体定义的private下加入函数定义
Procedure WMDropFiles(var mess:TMessage);message WM_DROPFILES;
5. 在implementation中加入函数的实现
procedure Tform1.WMDropFiles(var mess:TMessage);
var
buffer:array[0..MaxPath] of Char;
dropfilescount:integer;
i:integer;
begin
inherited;
dropfilescount:=DragQueryFile(Mess.wParam,ffffffff,nil,0);
for i:=0 to dropfilescount-1 do
begin
DragQueryFile(Mess.wParam,I,P,255);
//在此处处理字符串P即可
end;
DragFinish(mess.wParam);
end;
-- Uploader2.0beta8 版主页上传软件,欢迎使用
http://smallroom.126.com http://smallroom.yeah.net
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.106.174.8]
|
|