RAD Studio(Delphi) XE4 の FireMonkey(FMX) アプリにファイルをドラッグ アンド ドロップできるようにする方法

RAD Studio(Delphi) XE4 の FireMonkey(FMX) アプリにエクスプローラーや Mac OS の Finder からファイルをドラッグ アンド ドロップできるようにする方法についてのメモ。

方法

TForm に TMemo を貼り付けた状態で、次の用にイベントハンドラにコードを書くだけ。

OnDragOver イベントでは、ドラッグされたものを受け付けるために Accept を True に設定する。
[code lang=’delphi’] procedure TForm1.Memo1DragOver(Sender: TObject; const Data: TDragObject;
const Point: TPointF; var Accept: Boolean);
begin
Accept := True;
end;
[/code]

OnDragDrop イベントでは、Data 変数がドラッグされたオブジェクトの情報を保持しているので、Data.Files プロパティを利用します。
この例では、ドラッグされたファイルの個数と、イテレータでアクセスして Memo1 にファイル名を挿入するようにしました。
[code lang=’delphi’] procedure TForm1.Memo1DragDrop(Sender: TObject; const Data: TDragObject;
const Point: TPointF);
var
fname: string;
begin
Memo1.Lines.Add(IntToStr(Length(Data.Files)));
for fname in Data.Files do
begin
Memo1.Lines.Add(fname);
end;
end;
[/code]

結果

アプリの実行結果の例です。

Windows アプリを起動して、C ドライブのルートのディレクトリをいくつかドロップしてみたところ。

FMX Winアプリ

FMX Winアプリ

Mac OS アプリを起動して、/ のディレクトリをいくつかドロップしてみたところ。

FMX OSXアプリ

FMX OSXアプリ

簡単に作れちゃいましたねぇ。
しかもクロスプラットフォームですよ!!

え?Webサイトのバックアップ、してないの!?

いざという時には復旧までしてくれる
『ワードプレス外部バックアップサービス』

■3つの特長
・自分でやらなくて良い
・いざという時の復旧付き
・外部サーバーにバックアップ

コメントを残す