procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;procedure TForm1.WMDropFiles(var Msg: TWMDropFiles); var FileCount: Integer; CFileName: array[0..MAX_PATH] of Char; WFileName : WideString; begin try FileCount:=0; while DragQueryFile(Msg.Drop, FileCount,CFileName, MAX_PATH) > 0 do begin WFileName:=CFileName; if ExtractFileExt(cFileName)='.lnk' then begin ShowMessage('lnk file'); end else begin ShowMessage('not lnk file); end; inc(FileCount); Msg.Result := 0; end; finally DragFinish(Msg.Drop); end; end;procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Handle, True); end;你可以在Drop的时候判断拖动的文件是什么类型
var
FileCount: Integer;
CFileName: array[0..MAX_PATH] of Char;
WFileName : WideString;
begin
try
FileCount:=0;
while DragQueryFile(Msg.Drop, FileCount,CFileName, MAX_PATH) > 0 do
begin
WFileName:=CFileName;
if ExtractFileExt(cFileName)='.lnk' then
begin
ShowMessage('lnk file');
end else
begin
ShowMessage('not lnk file);
end;
inc(FileCount);
Msg.Result := 0;
end;
finally
DragFinish(Msg.Drop);
end;
end;procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, True);
end;你可以在Drop的时候判断拖动的文件是什么类型
============================================
你给的代码也只能在释放鼠标的时候(DragUp)给出消息啊
我要的效果是在鼠标拖动文件进入Form的时候(DragOver)的时候显示信息啊
Y: Integer);
begin
///这里写代码
end;
State: TDragState; var Accept: Boolean);
beginend;
========================
你说的是不是空间拖动???
估计没有人会那样做。。等待你的N+1次。。
我就在OnDragOver中什么也没做
只是showmessage('a')
但是什么消息也没发出