五步实现文件的拖放功能

    技术2022-05-13  20

    用过Winamp的朋友都知道,Winamp支持文件拖放,当你想欣赏某个MP3文件时,只需将 文件拖到Winamp的窗口上,然后放开鼠标就行了。如何让自己的程序也实现这样的功能呢?下面就以Delphi环境中的ListBox组件为例,向大家 介绍一个如何实现支持文件拖放功能的方法。 1.新建一个工程,在Form1中添加一个Listbox控件和一个Label控件,分别为Listbox1和Label1。 2.本文主要使用到两个Windows API 函数:DragAcceptFile和dragqueryfile,它们都包含Shellapi单元中,所以必须在Uses部分加入Shellapi单元后才能使用这两个函数。 3.在public部分声明以下过程:     procedure dropfiles(var message:tmessage);message wm_dropfiles; 4.程序实现代码: procedure TForm1.FormCreate(Sender: TObject); begin   //初始本窗口可接受文件拖放   Dragacceptfiles(Form1.handle,true); end; procedure TForm1.dropfiles(var message:tmessage); var   p:array[0..254] of char;   i:word; begin   // 取拖下文件的数量   I:=dragqueryfile(message.wparam,$ffffffff,nil,0);

      //在Label1中显示拖动文件的数量   Form1.Label1.Caption:='这次拖动了'+inttostr(i)+'个文件';

      // 循环取每个拖下文件的全文件名   for I:=0 to I-1 do   begin     // 取文件名     dragqueryfile(message.wparam,i,p,255);     //将文件名添加到Listbox1中     Form1.ListBox1.Items.Add(p);   end; end; 5.程序编写完成后按下F9试运行程序,然后从外部向Form1拖入数个文件,那么这些文件的文件路径及其名称就会被添加到Listbox1中,Label1是用来显示一次中拖放文件的数量。 通过简单的五个步骤,就实现了文件的拖放功能,只要编写相应的处理代码,就可以实现完整的拖放功能了。

     

    >>>http://blog.csdn.net/beingstudio/archive/2007/02/13/1508804.aspx


    最新回复(0)