本文整理自网络,侵删。
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 combobox 只读 text属性可用的方法
Delphi timagelist 中使用 透明 png 图标
Delphi 的编译指令(1): $define、$undef、$ifdef、$else、$endif
更多相关阅读请进入《Delphi》频道 >>