晚上好 :-)!
我有这段代码可以使用拖放方法来处理文件:
TForm1 = class(TForm)
...
public
procedure DropFiles(var msg: TMessage ); message WM_DROPFILES;
end;
procedure TForm1.FormCreate(Sender: TObject)
begin
DragAcceptFiles(ListView1.Handle, True);
end;
procedure TForm1.DropFiles(var msg: TMessage );
var
i, count : integer;
dropFileName : array [0..511] of Char;
MAXFILENAME: integer;
begin
MAXFILENAME := 511;
count := DragQueryFile(msg.WParam, $FFFFFFFF, dropFileName, MAXFILENAME);
for i := 0 to count - 1 do
begin
DragQueryFile(msg.WParam, i, dropFileName, MAXFILENAME);
Memo1.Lines.Add(dropFileName);
end;
DragFinish(msg.WParam);
end;
在 ListView 区域有 DragCursor,但在 Memo1 中没有任何记录。 例如,当我使用 ListBox 和方法 DragAcceptFiles(ListBox1.Handle, True) 时,一切都很好。
ListView 的属性 DragMode 我设置为 dmAutomatic。
谢谢 :-)