tlistview使用:拖放操作计算机等级考试

文章作者 100test 发表时间 2010:01:01 09:31:09
来源 100Test.Com百考试题网


  下列程序是本人在软件开发过程中根据用户操作上的方便,写的一个小过程,主要实现了向listview控件中拖放文件功能,其源代码如下:
  procedure tyanzheng.AppMessage(var Msg: TMsg.var Handled: Boolean).
  var
  nFiles, I: Integer.
  ListItem: TListItem.
  begin
  if (Msg.message = WM_DROPFILES) and (msg.hwnd = ListView1.Handle) then
  begin
  if MessageDlg(\确定要加入吗\,
  mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
  // 取0dropped files的数量
  nFiles := DragQueryFile (Msg.wParam, $FFFFFFFF, nil, 0).
  // 循环取每个拖下文件的全文件名
  try
  for I := 0 to nFiles - 1 do
  begin
  // 为文件名分配缓冲 allocate memory
  SetLength (Filename, 80).
  // 取文件名 read the file name
  DragQueryFile (Msg.wParam, I, PChar (Filename), 80).
  Filename := PChar (Filename).
  //将全文件名分解程文件名和路径
  ListItem := ListView1.Items.Add.
  ListItem.Caption := ExtractFileName(FileName).
  listitem.ImageIndex:=6.
  ListItem.SubItems.Add(ExtractFilePath(FileName)).
  filepath:=extractfilepath(filename).
  //drage:=true.
  end.
  finally
  //结束这次拖放操作源:www.examda.com
  DragFinish (Msg.wParam).
  end.
  //标识已处理了这条消息来源:
  Handled := True.
  movefile(pchar(filename),pchar(filespath listitem.caption)).
  end.end.
  end.
  注意:本程序功能是完整的,程序中使用了movefile函数,也就是说,实现了把操作的文件移到了系统所在的目录中,因此建议在调试过程中不要用重要的文件作调试用。
  程序中用到了向windows发送消息,不明白的话,建议看一些有关方面的文章(本程序可直接运行,须加入到系统中),本程序与《tlistview显示文件夹内容中的程序结合使用,效果更好》
  程序用在showform事件中:用法如下:
  //设置需要处理文件WM_DROPFILES拖放消息
  DragAcceptFiles(ListView1.Handle, TRUE).
  //设置AppMessage过程来捕获所有消息
  Application.OnMessage := AppMessage.

  编辑特别推荐:

  全国计算机等级考试资料下载

  全国计算机等级考试论坛

  如何应付二级考试中的公共基础知识

  全国计算机等级考试上机考试应试技巧

  百考试题教育全国计算机等级考试在线测试平台



相关文章


全国计算机等级考试二级笔试样卷Delphi语言程序设计计算机等级考试
使用内存映象实现进程间全局变量计算机等级考试
使用互斥对象让程序只运行一次计算机等级考试
TListView组件显示文件夹中的文件计算机等级考试
tlistview使用:拖放操作计算机等级考试
在Delphi中自己建立交叉表计算机等级考试
Delphi代码创建形式规范计算机等级考试
关于线程同步的一些方法计算机等级考试
在delphi中使用flash控件计算机等级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛