请问怎么实现一个文件的文件名拖到TListBox中???(0分)

  • 主题发起人 主题发起人 暗夜中独舞
  • 开始时间 开始时间

暗夜中独舞

Unregistered / Unconfirmed
GUEST, unregistred user!
点鼠标左键拖动一个文件,到TListBox中放开,把文件名添加到列表框中
该怎么实现呢??
小弟先谢过啦。。。。。。。
 
其实就是一个sendmessage消息!
 
能说的具体点吗??能给我一个思路吗???谢了
 
曾经做过类似的程序功能,共享一下!!!!

在窗口初始化中
//设置需要处理文件WM_DROPFILES拖放消息
DragAcceptFiles(ListBox1.Handle, TRUE);
//设置AppMessage过程来捕获所有消息
Application.OnMessage := AppMessage;

procedure TForm1.AppMessage(var Msg: TMsg; var Handled: Boolean);
var
nFiles, UpI: Integer;
UpFilename: string;
begin

if (Msg.message = WM_DROPFILES) and (msg.hwnd = ListBox1.Handle) then
begin

nFiles := DragQueryFile (Msg.wParam, $FFFFFFFF, nil, 0);
try

for UpI := 0 to nFiles - 1 do
begin
SetLength (UPFilename, 80);
DragQueryFile (Msg.wParam, UpI, PChar (UpFilename), 80);
UPFilename := PChar (UpFilename);
showmessage(upfilename);
end;
finally

DragFinish (Msg.wParam);
end;

Handled := True;
end;
end;
 
后退
顶部