C++ builder拖放文件实现
本文地址:http://tongxinmao.com/Article/Detail/id/340
class TForm1 : public TForm
{
void __fastcall HandleDropFiles(TMessage &Owner);
BEGIN_MESSAGE_MAP
MESSAGE_HANDLER(WM_DROPFILES,TMessage,HandleDropFiles)
END_MESSAGE_MAP(TForm)
};
void __fastcall TForm1::FormCreate(TObject *Sender)
{
DragAcceptFiles(Handle,true);
}
//---------------------------------------------------------------------------
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);
// 将文件路径显示于窗体上的Text控件
// log( AnsiString(FileName));
// loadbmp(FileName);
}
// 释放应用程序为传递文件名而开辟的内存空间
DragFinish( HDROP(msg.WParam) );
}
上一篇:沁恒USB单片机CH55X实用参考例程代码
下一篇:c++ api 双缓冲绘图