1. 在窗體的頭文件.h裏聲明處理函數和消息映射, 如:函數
- class TForm1 : public TForm
- {
- ...
- void __fastcall HandleDropFiles(TMessage &Owner;
- ...
- BEGIN_MESSAGE_MAP
- MESSAGE_HANDLER(WM_DROPFILES,TMessage,HandleDropFiles)
- END_MESSAGE_MAP(TForm)
- };
2. 在窗體的實現文件.cpp中, 添加代碼spa
FormCreate事件響應中:.net
- void __fastcall TForm1::FormCreate(TObject *Sender)
- {
- ...
- DragAcceptFiles(Handle,true);
- ...
- }
最重要的處理函數HandleDropFiles:orm
- void __fastcall TForm1::HandleDropFiles(TMessage &msg)
- {
- char FileName[_MAX_PATH];
- int i, Sum;
-
- Sum = DragQueryFile(HDROP(msg.WParam), 0xFFFFFFFF, NULL, 0);
- if(Sum > 0)
- {
-
- DragQueryFile(HDROP(msg.WParam), 0, FileName, _MAX_PATH);
-
- txtPath->Text = AnsiString(FileName);
- }
-
- DragFinish( HDROP(msg.WParam) );
- }