Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.20;
Скачать: CL | DM;

Вниз

Как зделать????   Найти похожие ветки 

 
Spike_msu   (2002-05-01 22:35) [0]

Мне нужно что бы, перетаскивая мышью файл на форму, в Edit появлялся полный путь этого файла!! Подскажите!!!


 
Song ©   (2002-05-01 22:45) [1]

Откуда перетаскиваете?


 
Spike_msu   (2002-05-01 22:57) [2]

Например:
У меня открыто окно, ну допустим C:\GAMES\FF8\, я мышью выделяю файл FF8.EXE и перетаскиваю на свою форму. ОТПУСКАЮ кнопку мыши ми в Edit появляется "C:\games\ff8\ff8.exe"!! Вроде теперь все понятно!


 
Anatoly Podgoretsky ©   (2002-05-01 23:05) [3]

Обрабатывать сообщение WM_DROPFILES
Функция DragQueryFile позволит получить имя брошеного файла


 
Spike_msu   (2002-05-01 23:39) [4]

А примерчик можно??? Зарание спасибо


 
Almaz ©   (2002-05-02 00:11) [5]


> Spike_msu (01.05.02 23:39)


Вот примерчик:
uses ..., ShellApi;

...

TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
procedure WMDropFiles(var Message: TWMDropFiles); message WM_DROPFILES;
end;

...

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, True);
end;

procedure TForm1.WMDropFiles(var Message: TWMDropFiles);
var
FileName: array [0..MAX_PATH] of Char;
begin
if DragQueryFile(Message.Drop, 0, FileName, SizeOf(FileName)) > 0 then
Edit1.Text := FileName;
end;


Удачи.


 
Spike_msu ©   (2002-05-02 01:13) [6]

Спасибо!!!!


 
Spike_msu ©   (2002-05-08 23:38) [7]

А вот еще вопрос а как мне узнать имена всех файлов если перекидывается сразу несколько файлов!!!
Например выделили 12 файлов и перетащили на мою форму, а,например, в массиве ALLFILE лежит 12 имен файлов(или путей)!


 
Anatoly Podgoretsky ©   (2002-05-08 23:51) [8]

procedure TMainForm.WMDROPFILES(var Message: TWMDROPFILES);
var
Files : Longint;
I : Longint;
Buffer : array[0..MAX_PATH] of Char;
begin
Files := DragQueryFile(Message.Drop,$FFFFFFFF,nil,0); // Get count of
files
for I := 0 to Files - 1 do begin
DragQueryFile(Message.Drop,I,@Buffer,SizeOf(Buffer)); // Get N file
ProcessFile(Buffer); // do something with the file
end;
DragFinish(Message.Drop); // end drag loop
end;



 
Spike_msu ©   (2002-05-09 02:26) [9]

Спасибо!!!!




Страницы: 1 вся ветка

Текущий архив: 2002.05.20;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.02 c
1-64717
Serega B...A...
2002-05-07 01:01
2002.05.20
Как упаковать группу файлов в DLL


4-64874
GreySerg
2002-03-18 17:49
2002.05.20
Что-то вроде Ini-файла


7-64847
boykov
2002-02-22 18:34
2002.05.20
Как изменить прошивку HDD?


1-64665
drt
2002-05-05 18:35
2002.05.20
Help!


1-64644
pegas7
2002-05-08 13:23
2002.05.20
Текст фиксированной ширины с переносами