要处理一个文件, 比如excel, 通常可以用按钮打开一个文件对话框,再找到 打开
不过如果直接拖拽到窗体, 这样的操作是不是更潇洒些 O(∩_∩)O哈哈~
通过3步骤就可以在buffer得到文件名了
1:
interface里
private
{ Private declarations }
public
{ Public declarations }
procedure DropFiles(var Msg: TMessage); message WM_DROPFILES;
2:
//拖拽文件,显示文件名至memo
procedure TForm1.DropFiles(var msg: TMessage);
var
buffer: array[0..1024] of Char; //存放所打开的文件名及路径
begin
inherited;
buffer[0] := #0;
DragQueryFile(Msg.WParam, 0, buffer, sizeof(buffer));
mmo1.Text:= buffer; //显示拖拽得到文件完整路径及文件名
//OpenExcel();
end;
3:
procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle,True);//第二个参数为False时,不启用文件拖放
end;