Ессть 2 вопроса.
1) Как сделать процедуру(функцию) для перетаскивания файлов из Проводника в ветку TreeView.
procedure TMainForm.FormCreate(Sender: TObject);
begin
DragAcceptFiles(TreeView1.Handle, True);
end;
2)
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
var
h: THandle;
i,num:integer;
pchr: array[0..254] of char;
begin
h := Msg.Drop;
num := DragQueryFile(h, Dword(-1), nil, 0);
for i := 0 to num - 1 do begin
DragQueryFile(h, i, pchr, 254);
ListBox1.Items.Add(string(pchr));
end;
DragFinish(Msg.Drop);
end;
type
TForm1 = class(TForm)
...
private
procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;
end;
...
implementation
uses ShellAPI;
procedure TForm1.FormCreate(Sender: TObject);
begin
TreeView1.Items.AddFirst(TreeView1.TopItem, 'Файлы');
DragAcceptFiles(Handle, true)
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, false)
end;
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
var
H: THandle;
i,count: Integer;
Name: PChar;
begin
GetMem(Name, 255);
H := Msg.Drop;
count := DragQueryFile(H, DWord(-1), nil, 0);
for i := 0 to count - 1 do
begin
DragQueryFile(H, i, Name, 255);
TreeView1.Items.AddChild(TreeView1.Items[0], Name)
end;
DragFinish(Msg.Drop);
FreeMem(Name, 255)
end;
procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);
(var Msg: TWMDropFiles)
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1