本文整理自网络,侵删。
Delphi让文本框接受文件拖放
Author: Tank
Data: 2008-01-20
Description: uses shellapi
procedure TfrmFileTools.FormCreate(Sender: TObject);
begin
DragAcceptFiles(rtbFilesList.Handle, true);
OLDWndProc := rtbFilesList.WindowProc; // 保存原来处理过程
rtbFilesList.WindowProc := DropFiles;
end;
procedure TfrmFileTools.DropFiles(var Msg: TMessage);
var
i, Count: integer;
buffer: array[0..MAX_PATH - 1] of Char;
begin
if Msg.Msg = WM_DropFiles then
begin
Count := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, MAX_PATH); // 第一次调用得到拖放文件的个数
for i := 0 to Count - 1 do
begin
buffer[0] := #0;
DragQueryFile(Msg.WParam, i, buffer, sizeof(buffer)); // 第二次调用得到文件名称
rtbFilesList.Lines.Add(buffer);
end;
end
else
OLDWndProc(Msg);
end;
相关阅读 >>
Delphi 在statusbar1.panels上显示日期时间星期
Delphi 2009 泛型容器单元(generics.collections)[5]: tobject...<t> 系列
更多相关阅读请进入《Delphi》频道 >>