|
#1
|
||||
|
||||
Мемо и Drag&Drop
Как загрузить обчный текстовый документ в Мемо используя технологию Drag&Drop???
|
#2
|
|||
|
|||
Сделайте форму приемником файлов.
Форма должна обрабатывать сообщение WM_DROPFILES. В этой процедуре определяете имена файлов с помощью функции DropQueryFiles и делаете с ними что хотите. По окончании работы с формой запрещаем перетаскивание на нее файлов. В этом примере имена перетащенных файлов помещаются в Memo: Код:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Memo1: TMemo; procedure FormCreate(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES; public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} Uses ShellAPI; procedure TForm1.WMDROPFILES(var Msg: TMessage); var Filename : Array [0 .. 256] of Char; Count, i : Integer; P : TPoint; begin // Число перетаскиваемых файлов Count := DragQueryFile(Msg.WParam, $FFFFFFFF, Filename, SizeOf(Filename)); Memo1.Clear; for i := 0 to Count - 1 do begin // Запрос имени файла DragQueryFile(Msg.WParam, i, Filename, SizeOf(Filename)); Memo1.Lines.Add(Filename); end; // Заканчиваем перетаскивание DragFinish(Msg.WParam); end; procedure TForm1.FormCreate(Sender: TObject); begin DragAcceptFiles(Handle, True); end; procedure TForm1.FormDestroy(Sender: TObject); begin DragAcceptFiles(Handle, False); end; end. |
#3
|
||||
|
||||
Мне нужно загрузить не путь к тхт-файлу в мемо - а загрузить содержимое ТХТ файла
Последний раз редактировалось Electronic_Arts, 26.02.2008 в 22:24. |
#4
|
|||
|
|||
Слушайте, ну нельзя же так, простите за грубость - вы совсем не пытаетесь думать. Все нужно разжевать.
Замените строчку Memo1.Lines.Add(Filename); на Memo1.Lines.LoadFromFile(Filename); Не очень сложно, нет? |