Delphi FMX Drag Drop
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相关推荐
- HTML5原生拖拽/拖放 Drag Drop 详解
转载自:juejin.im/post/5a169d- 前言 拖放(drap && drop)在我们平时的工作中,经常遇到.它表示:抓取对象以后拖放到另一个位置.目前,它是HTML5标准 ...
- HTML5 drag drop 拖拽与拖放简介
by zhangxinxu from http://www.zhangxinxu.com 本文地址:http://www.zhangxinxu.com/wordpress/?p=1419 一.前面的话 ...
- 重新想象 Windows 8 Store Apps (49) - 输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop...
重新想象 Windows 8 Store Apps (49) - 输入: 获取输入设备信息, 虚拟键盘, Tab 导航, Pointer, Tap, Drag, Drop 原文:重新想象 Window ...
- HTML5原生拖拽/拖放(drag drop)详解
前言 拖放(drap && drop)在我们平时的工作中,经常遇到.它表示:抓取对象以后拖放到另一个位置.目前,它是HTML5标准的一部分.我从几个方面学习并实践这个功能. 拖放的流程 ...
- ASP.NET AJAX (Atlas) 拖放(Drag Drop)功能6种实现方法总结
在Ajax程序中实现传统桌面程序中异常简单的拖放功能却并不是件容易的事情.然而Web上的拖放功能又如此的让人痴迷,所以几乎每个成熟的Ajax类库都提供了自己的一套实现拖放的封装,ASP.NET AJA ...
- 使用ASP.NET Atlas实现拖放(Drag Drop)效果(下)
English Version: http://dflying.dflying.net/1/archive/77_atlas_drag__drop_overview.html 中文版:http://d ...
- DRAG DROP
使用IDropTarget接口同时支持文本和文件拖放 关于Windows的外壳扩展编程,拖放是比较简单的一种,在网上可以找到不少介绍这个技巧的文章.大部分是介绍使用MFC的COleDropTarget ...
- Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求-分布式跨平台App中美工图片的处理、上传下载、并发及客户端显示技术架构
Delphi FMX正确设计和加载图片满足分布式跨平台App的性能需求 分布式跨平台App中美工图片的处理.上传下载.并发及客户端显示技术架构 [综合:客户端(内存耗用.设备屏幕的自动适配).服务端( ...
- Delphi FMX正确加载图片最大限度减少内存占用(之一TBitmapSurface)
Delphi FMX正确加载图片最大限度减少内存占用(之一TBitmapSurface) 国庆前,无意间发现App内存占用陡增,发现是几张4K图片(7680x4320像素)加载引发的(TImage.B ...
最新文章
- 边缘AI是内存技术发展的催化剂
- linux条件表达式例子,Linux的Iptables命令的基本知识(三)-常用匹配条件示例和执行动作...
- 完善ext.grid.panel中的查询功能(紧接上一篇)
- FreeRTOS操作系统,在按键中断函数中恢复被挂起的任务,程序卡死的原因和解决办法...
- opencv python轻松入门_OpenCV轻松入门 面向Python
- dqn系列梳理_系列论文阅读——DQN及其改进
- 用Python增强Excel的3大集成方法及用途
- Dubbo学习总结(6)——Dubbo开源现状与未来规划
- 成都将于1月27日开启数字人民币红包活动
- Angualr 加载速度慢,为页面初始化完成前添加loading
- 分页缓冲池内存过高_揭秘:为什么新买的8G内存却显示4G可用,是系统出错还是被人坑了?...
- jstat 监控调整GC很好用
- 09-01-28 自助装机
- 光纤猫上的LOS灯红色闪烁解决方法
- android11 rom,第一个Android 11的第三方ROM来了,适用于红米K20 Pro
- mysql数据库查询优化技术 视频教程_炼数成金MySql视频教程 MySQL数据库查询优化技术 15周课程深入学习MySQL数据库查询...
- english words
- python网络游戏脚本_用Python写一个游戏脚本,你会吗?
- IPv4/IPv6地址范围与网络地址/子网掩码的转换,点分十进制与数字掩码的转换
- PHP反序列化字符串逃逸