|
15番会議室「FAQ編纂委員会」に寄せられた「よくある質問の答え」
[Q]
エクスプローラからファイルをドラッグ&ドロップさせたときに
ドロップされたファイルのファイル名を取得するにはどうすれば
よいですか。
[A]
WM_DROPFILES メッセージをつかまえて、ドラッグ&ドロップされたときの
イベントをつくってやります。uses に ShellAPI を追加して下さい。
次の例はフォームにドロップされたファイルをリストボックスに表示します。
複数のファイルをドロップすることもできます。
private
{ Private 宣言 }
procedure DropFiles(var Msg:TWMDROPFILES); message WM_DROPFILES;
……
procedure TPanicClockMain.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Form1.Handle, True);
end;
procedure TForm1.DropFiles(var Msg:TWMDROPFILES);
var
I, DropFileCount: Integer;
FileName: array [0..255] of Char;
begin
DropFileCount := DragQueryFile(Msg.Drop, Cardinal(-1), nil, 0);
for I:=0 to DropFileCount-1 do
begin
DragQueryFile(Msg.Drop, I, FileName, SizeOf(FileName)-1);
ListBox1.Items.Add(FileName);
end;
DragFinish(Msg.Drop);
end;
ここにあるドキュメントは NIFTY SERVEの Delphi Users' Forum FDELPHIに寄せられる質問の中から、よくある質問への回答を FDELPHIのメンバーがまとめたものです。 したがって、これらの回答はボーランド株式会社がサポートする公式のものではなく、掲示されている内容についての問い合わせは受けられない場合があります。
Copyright 1996-1998 Delphi Users' ForumFAQ編纂委員会
|