Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Drag and Drop


Автор: stn 17.1.2007, 21:40
Как мне с рабочего стола в TMemo1 загрузить txt?(Если можно с пояснением как это происходит) smile 

Автор: Snowy 17.1.2007, 21:46
Загрузить
Код

Memo1.Lines.LoadFromFile('C:\.....');
Что конкретно интересует?

Автор: Sunvas 17.1.2007, 22:43
Ид DRKB:
Рассмотрим пример перетаскивания Drag & Drop в окно произвольного текстового файла, 
который сразу же открывается в компоненте Memo1. Для начала в разделе Uses необходимо подключить модуль ShellAPI. В private области окна нужно вставить следующую строку: 

Код

 procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;//получение сообщений о 
переносе файла в окно приложения     


Процедура обработки этого сообщения будет выглядеть следующим образом: 

Код

procedure TForm1.WMDropFiles(var Msg: TWMDropFiles); 
var 
  CFileName: array[0..MAX_PATH] of Char; // переменная, хранящая имя файла 
begin 
 try  
 If DragQueryFile(Msg.Drop, 0, CFileName, MAX_PATH)> 0 then  
 // получение пути файла  
  begin  
   Form1.Caption:=CFileName; // имя файла в заголовок окна  
   Memo1.Lines.LoadFromFile(CFileName); // открываем файл  
   Msg.Result := 0;  
 end;  
 finally  
   DragFinish(Msg.Drop); // отпустить файл  
 end;  
 end;  


Для того, чтобы форма знала, 
что может принимать такие файлы, необходимо в процедуре создания окна 
указать: 

Код

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

Автор: Snowy 17.1.2007, 22:49
http://vingrad.ru/DELPHI-DLP-000303
http://vingrad.ru/DELPHI-DLP-000304

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)