Содержание материала

 

Code:

{ На эту форму можно бросить файл (например из проводника)

и он будет открыт }

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs,StdCtrls,

ShellAPI {обязательно!};

 

type

TForm1 = class(TForm)

   Memo1: TMemo;

   FileNameLabel: TLabel;

   procedure FormCreate(Sender: TObject);

   procedure FormDestroy(Sender: TObject);

protected

  {Это и есть самая главная процедура}

   procedure WMDropFiles(var Msg: TMessage); message wm_DropFiles;

end;

 

var

Form1: TForm1;

implementation

{$R *.DFM}

 

procedure TForm1.WMDropFiles(var Msg: TMessage);

var

  Filename: array[0 .. 256] of Char;

  Count   : integer;

begin

{ Получаем количество файлов (просто пример) }

  nCount := DragQueryFile( msg.WParam, $FFFFFFFF,

    acFileName, cnMaxFileNameLen);

{ Получаем имя первого файла }

DragQueryFile( THandle(Msg.WParam),

    0, { это номер файла }

    Filename,SizeOf(Filename) ) ;

{ Открываем его }

with FileNameLabel do begin

  Caption := LowerCase(StrPas(FileName));

  Memo1.Lines.LoadfromFile(Caption);

end;

{ Отдаем сообщение о завершении процесса }

DragFinish(THandle(Msg.WParam));

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

{ Говорим Windows, что на нас можно бросать файлы }

DragAcceptFiles(Handle, True);

end;

 

procedure TForm1.FormDestroy(Sender: TObject);

begin

{ Закрываем за собой дверь золотым ключиком}

DragAcceptFiles(Handle, False);

end;

end.

 

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить