エクスプローラー等からファイルをドロップする


ここではMemoにドロップされたテキストファイルをMemoに読み込みます。


■必要なコンポーネント

■使用するAPI関数

■その他

■ソースは下記のようになります。

MemoにドロップされたファイルをMemoに読み込む処理
private
{ Private 宣言 }
 //ファイルマネージャーからDrag & Drop されたファイル情報を取得
 procedure WMDropFiles(Var Msg: TMsg); Message WM_DROPFILES ;

procedure TForm1.FormCreate(Sender: TObject);
begin

 //ファイルドロップを受け取れるように設定する

 DragAcceptFiles(Form1.Handle, True);

end;

procedure TForm1.WMDropFiles(Var Msg: TMsg);
Var
 FileName: array[0..MAX_PATH] of Char;

begin

 //ドロップされたファイル名を取得する
 DragQueryFile(Msg.message, 0, FileName, SizeOf(FileName));
 //Memo1にファイルのデータをロードする。
 Memo1.Lines.LoadFromFile(String(FileName));

 //ファイル情報の内部データを解放する
 DragFinish(Msg.message);

end;

end.




Win32APIのページへ



ホーム PV ランキング