[PR]
[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
フォームへのファイルドラッグ対応
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;