FMX 框架下,

直接重载 DragDrop ,DragOver即可。

声明:

procedure DragDrop(const Data: TDragObject; const Point: TPointF);override;
procedure DragOver(const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation);override;

实现:

procedure Form1.DragDrop(const Data: TDragObject; const Point: TPointF);

begin

var filepathname:= Data.Files[0]; //也可以有多个文件,用for循环可以读出来

end;

procedure Form1.DragOver(const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation);

begin

Operation := TDragOperation.Link;//提示“链接”

//TDragOperation.Move; //提示“移动”

//TDragOperation.Copy; 提示“复制”

end;

vcl 框架下,

FormCreate中初始化:

OrgFormWndProc := Self.WindowProc;
  Self.WindowProc := FormWndProc;
      //ShellAPI
  DragAcceptFiles( Self.Handle, True); //  HWND

//procedure TForm2.DragDropFiles(var msg : TWMDropFiles);
//var
//    FileName:array[1..511] of Char;
//    i, iCount : Integer;
//begin
//
//      iCount := DragQueryFile(msg.Drop, $FFFFFFFF, nil, 0);    // 文件数量
//      //for i := 0 to iCount - 1 do
//      DragQueryFile(msg.Drop, i, @FileName, SizeOf(FileName));
//      Form4.Label1.Text :=  FileName;
//      DragFinish(msg.Drop);
//      Form4.Timer1.Enabled :=False;
//      Form4.Show;
//
//
   var  i, count  : integer;
     dropFileName : array [0..511] of Char;
     MAXFILENAME: integer;
   begin
     MAXFILENAME := 511;
     count := DragQueryFile(msg.WParam, $FFFFFFFF, dropFileName, MAXFILENAME);
     for i := 0 to count - 1 do
     begin
       DragQueryFile(msg.WParam, i, dropFileName, MAXFILENAME);
       Memo1.Lines.Add(dropFileName);
     end;
     DragFinish(msg.WParam);
//
//end;

//procedure TForm2.FormWndProc(var Msg: TMessage);
//begin
//  // Catch the WM_DROPFILES message, and call the original ListView WindowProc
//  // for all other messages.
//  case Msg.Msg of
//    WM_DROPFILES:
//      DragDropFiles( TWMDropFiles(Msg));
//  else
//    if Assigned(FOrgFormWndProc) then
//      FOrgFormWndProc(Msg);
//  end;
//end;

Delphi FMX Drag Drop相关推荐

  1. HTML5原生拖拽/拖放 Drag Drop 详解

    转载自:juejin.im/post/5a169d- 前言 拖放(drap && drop)在我们平时的工作中,经常遇到.它表示:抓取对象以后拖放到另一个位置.目前,它是HTML5标准 ...

  2. HTML5 drag drop 拖拽与拖放简介

    by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=1419 一.前面的话 ...

  3. 重新想象 Windows 8 Store Apps (49) - 输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop...

    重新想象 Windows 8 Store Apps (49) - 输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop 原文:重新想象 Window ...

  4. HTML5原生拖拽/拖放(drag drop)详解

    前言 拖放(drap && drop)在我们平时的工作中,经常遇到.它表示:抓取对象以后拖放到另一个位置.目前,它是HTML5标准的一部分.我从几个方面学习并实践这个功能. 拖放的流程 ...

  5. ASP.NET AJAX (Atlas) 拖放(Drag Drop)功能6种实现方法总结

    在Ajax程序中实现传统桌面程序中异常简单的拖放功能却并不是件容易的事情.然而Web上的拖放功能又如此的让人痴迷,所以几乎每个成熟的Ajax类库都提供了自己的一套实现拖放的封装,ASP.NET AJA ...

  6. 使用ASP.NET Atlas实现拖放(Drag Drop)效果(下)

    English Version: http://dflying.dflying.net/1/archive/77_atlas_drag__drop_overview.html 中文版:http://d ...

  7. DRAG DROP

    使用IDropTarget接口同时支持文本和文件拖放 关于Windows的外壳扩展编程,拖放是比较简单的一种,在网上可以找到不少介绍这个技巧的文章.大部分是介绍使用MFC的COleDropTarget ...

  8. Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求-分布式跨平台App中美工图片的处理、上传下载、并发及客户端显示技术架构

    Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求 分布式跨平台App中美工图片的处理.上传下载.并发及客户端显示技术架构 [综合:客户端(内存耗用.设备屏幕的自动适配).服务端( ...

  9. Delphi FMX正确加载图片最大限度减少内存占用(之一TBitmapSurface)

    Delphi FMX正确加载图片最大限度减少内存占用(之一TBitmapSurface) 国庆前,无意间发现App内存占用陡增,发现是几张4K图片(7680x4320像素)加载引发的(TImage.B ...

最新文章

  1. 边缘AI是内存技术发展的催化剂
  2. linux条件表达式例子,Linux的Iptables命令的基本知识(三)-常用匹配条件示例和执行动作...
  3. 完善ext.grid.panel中的查询功能(紧接上一篇)
  4. FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法...
  5. opencv python轻松入门_OpenCV轻松入门 面向Python
  6. dqn系列梳理_系列论文阅读——DQN及其改进
  7. 用Python增强Excel的3大集成方法及用途
  8. Dubbo学习总结(6)——Dubbo开源现状与未来规划
  9. 成都将于1月27日开启数字人民币红包活动
  10. Angualr 加载速度慢,为页面初始化完成前添加loading
  11. 分页缓冲池内存过高_揭秘:为什么新买的8G内存却显示4G可用,是系统出错还是被人坑了?...
  12. jstat 监控调整GC很好用
  13. 09-01-28 自助装机
  14. 光纤猫上的LOS灯红色闪烁解决方法
  15. android11 rom,第一个Android 11的第三方ROM来了,适用于红米K20 Pro
  16. mysql数据库查询优化技术 视频教程_炼数成金MySql视频教程 MySQL数据库查询优化技术 15周课程深入学习MySQL数据库查询...
  17. english words
  18. python网络游戏脚本_用Python写一个游戏脚本,你会吗?
  19. IPv4/IPv6地址范围与网络地址/子网掩码的转换,点分十进制与数字掩码的转换
  20. PHP反序列化字符串逃逸

热门文章

  1. jquery中的switch用法及注意问题
  2. 物体姿态表示的几种方法总结
  3. windos10重装系统教程
  4. APISpace 带你一起走进西湖美景
  5. 你连985都考不上,哪来的资格谈素质教育?
  6. python双坐标轴箱线图,python绘制双y轴、箱线图、概率分布三种图形及案例
  7. Echarts饼图显示数值和百分比
  8. JVM参数查看与设置
  9. CAD标注:折弯标注的使用技巧
  10. SpringBoot自动装配原理分析