C++ builder拖放文件实现

    本文地址:http://tongxinmao.com/Article/Detail/id/340

    1. class TForm1 : public TForm  

    2. {  


    3.     void __fastcall HandleDropFiles(TMessage &Owner);  


    4.     BEGIN_MESSAGE_MAP  

    5.         MESSAGE_HANDLER(WM_DROPFILES,TMessage,HandleDropFiles)  

    6.     END_MESSAGE_MAP(TForm)  

    7. };  


    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 双缓冲绘图