忍者ブログ

[PR]

2025年04月29日
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

フォームへのファイルドラッグ対応

2013年11月24日

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ShellAPI;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    procedure WMDropFiles(var msg: TWMDROPFILES); message WM_DROPFILES;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  //ファイルのドラッグ受け入れ準備
  DragAcceptFiles(Handle, true);
end;

procedure TForm1.WMDropFiles(var msg: TWMDROPFILES);
var
  Count    : Integer;
  FileName : String;
begin
  try
    //ドラッグされたファイルの数を取得(今回は無視) 
    Count := DragQueryFile(msg.Drop, $ffffffff, nil, 0);
    //ファイル名を受け取る文字列を必要な容量分確保する
    SetLength( FileName , DragQueryFile(msg.Drop, 0, nil, 0) + 1 );
    //変数FailNameにドラッグされたファイルのフルパスを代入
    DragQueryFile(msg.Drop, 0, @FileName[1], Length(FileName));
  finally
    //ドラッグ終了
    DragFinish(msg.Drop);
  end;
end;

拍手[0回]

PR
Comment
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字