home *** CD-ROM | disk | FTP | other *** search
/ Delphi 4 Bible / Delphi_4_Bible_Tom_Swan_IDG_Books_1998.iso / source / DROPFILE / MAIN.PAS < prev   
Pascal/Delphi Source File  |  1998-04-10  |  1KB  |  64 lines

  1. unit Main;
  2.  
  3. interface
  4.  
  5. uses
  6.   SysUtils, Windows, Messages, Classes, Graphics, Controls,
  7.   Forms, Dialogs, StdCtrls, Buttons, ShellAPI;
  8.  
  9. type
  10.   TMainForm = class(TForm)
  11.     Memo1: TMemo;
  12.     BitBtn1: TBitBtn;
  13.     Label1: TLabel;
  14.     FileNameLabel: TLabel;
  15.     procedure FormCreate(Sender: TObject);
  16.     procedure FormDestroy(Sender: TObject);
  17.   private
  18.     { Private declarations }
  19.   protected
  20.     procedure WMDropFiles(var Msg: TMessage);
  21.       message wm_DropFiles;
  22.   public
  23.     { Public declarations }
  24.   end;
  25.  
  26. var
  27.   MainForm: TMainForm;
  28.  
  29. implementation
  30.  
  31. {$R *.DFM}
  32.  
  33. { Handle wm_DropFiles message }
  34. procedure TMainForm.WMDropFiles(var Msg: TMessage);
  35. var
  36.   Filename: array[0 .. 256] of Char;
  37. begin
  38.   DragQueryFile(
  39.     THandle(Msg.WParam),
  40.     0,
  41.     Filename,
  42.     SizeOf(Filename));
  43.   with FileNameLabel do
  44.   begin
  45.     Caption := LowerCase(FileName);
  46.     Memo1.Lines.LoadfromFile(Caption);
  47.   end;
  48.   DragFinish(THandle(Msg.WParam));
  49. end;
  50.  
  51. { Tell Windows this window can accept drag-and-drop files }
  52. { Disable drag-and-drop files (recommended) }
  53. procedure TMainForm.FormCreate(Sender: TObject);
  54. begin
  55.   DragAcceptFiles(Handle, True);
  56. end;
  57.  
  58. procedure TMainForm.FormDestroy(Sender: TObject);
  59. begin
  60.   DragAcceptFiles(Handle, False);
  61. end;
  62.  
  63. end.
  64.