`
ylilike
  • 浏览: 147765 次
  • 性别: Icon_minigender_1
  • 来自: 洛阳
社区版块
存档分类
最新评论

Delphi 从外部拖拽文件

阅读更多

unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, ComCtrls, StdCtrls;

 

type

  TForm1 = class(TForm)

    ListView1: TListView;

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

    procedure WMDropFiles(var Msg: TWMDropFiles); message WM_DROPFILES;

    procedure AppOnMessage(var Msg: TMsg; var Handled: Boolean);

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

uses ShellAPI;

 

{$R *.dfm}

 

procedure TForm1.AppOnMessage(var Msg: TMsg; var Handled: Boolean);

var  

  WMD: TWMDropFiles;

begin  

  if Msg.message = WM_DROPFILES then

  begin

    WMD.Msg := Msg.message;

    WMD.Drop := Msg.wParam;

    WMD.Unused := Msg.lParam;

    WMD.Result := 0;

    WMDropFiles(WMD);  

    Handled := TRUE;

  end;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  DragAcceptFiles(listview1.Handle, True);

  Application.OnMessage := AppOnMessage;

end;

 

procedure TForm1.WMDropFiles(var Msg: TWMDropFiles);

var  

  N: Word;

  buffer: array[0..180] of Char;

  item: TListItem;

begin

  with Msg do

  begin

    for N := 0 to DragQueryFile(Drop, $FFFFFFFF, buffer, 1) - 1 do

    begin

      DragQueryFile(Drop, N, Buffer, 80);

      Item := ListView1.Items.Add;

      item.Caption := StrPas(Buffer);

    end;

    DragFinish(Drop);

  end;

end;

 

end.

 

1.引用 ShellAPI单元

2.定义AppOnMessage,拦截处理拖拽文件操作

3.设置接收拖拽文件的对象。DragAcceptFiles(listview1.Handle, True);

4.定义对拖拽文件的具体操作WMDropFiles(var Msg: TWMDropFiles);

示例下载见附件

 

分享到:
评论

相关推荐

    delphi外部图片拖拽

    在Delphi编程环境中,实现外部图片拖拽功能是一项常见的需求,尤其在开发图像处理或桌面应用时。这个功能允许用户从资源管理器或其他应用程序中直接拖放图片到你的Delphi程序,提高用户的交互体验。以下将详细介绍...

    DELPHI专题文档-程序应用

    delphi怎样调用外部EXE文件 Win95/98下监控运行的其他程序 控制面板应用大全 避免一个程序二次运行 转换WINDOWS壁纸 改计算机名 为应用程序添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS...

    DELPHI专题--程序应用

    delphi怎样调用外部EXE文件 Win95/98下监控运行的其他程序 控制面板应用大全 避免一个程序二次运行 转换WINDOWS壁纸 改计算机名 为应用程序添加口令 启动屏幕保护 控制热启动 辨别显示分辨率 获得WINDOWS...

    Delphi XE 条码_二维码扫描

    3. **设计用户界面**:在你的Delphi XE工程中,从组件面板拖拽条码或二维码扫描相关的组件到Form上,例如TBарCode控件。调整其大小和位置以适应你的应用界面。 4. **配置组件**:每个组件都有其特定的属性需要...

    Delphi截屏,抓图,抓屏程序.rar

    从"标签" "Delphi源码-图形处理"我们可以推断,这个压缩包可能包含了Delphi源代码,用于处理图形,特别是屏幕捕获相关的算法和技术。源代码对于学习和理解Delphi编程,以及屏幕捕获技术的实现细节非常有价值。 在...

    delphi读取磅秤数据

    1. **设置TSerialPort组件**:在Delphi的Form设计界面中,从Component Palette面板拖拽一个TSerialPort组件到Form上。接着,我们需要配置该组件的属性,如ComPort(选择要连接的COM口)、BaudRate(波特率,如9600、...

    Delphi常用代码汇总

    【Delphi常用代码汇总】是...以上就是Delphi常用代码的一些核心知识点,它们涵盖了文件操作、界面交互、系统信息获取等多个方面,是Delphi编程的基础和实用技巧。熟悉并掌握这些代码,将对提升Delphi开发能力大有裨益。

    delphi属性汇总文档.doc

    以上介绍了 Delphi 中多种实用的功能,包括网络文件复制、鼠标拖动效果实现、Windows 目录获取、图形绘制、字符串列表操作、剪贴板操作、文件目录操作、文件属性处理以及外部文件执行等。通过掌握这些基本功能,...

    Delphi7从入门到精通04

    在深入探讨《Delphi7从入门到精通04》这一主题前,我们首先需要了解Delphi7的基础概念及其在软件开发领域的重要地位。Delphi是由Borland公司于1995年推出的一种快速应用程序开发工具,其核心是Object Pascal语言,...

    Delphi 音频播放程序,使用有DLL控件 typlayer.rar

    2. **创建控件实例**:在Delphi的Form设计器中,从组件面板拖动TyPlayer控件到你的表单上。这会在Form的声明部分自动生成一个TyPlayer控件的实例。 3. **配置控件属性**:通过对象浏览器或代码编辑器,你可以设置...

    Delphi SCOMM串口控件

    4. 使用控件:只需从工具箱中拖拽SCOMM控件到表单上,即可开始配置和使用串口通信功能。 **使用Delphi SCOMM串口控件** 主要涉及以下几个关键属性和方法: 1. **CommPort**: 这个属性用于设置或获取串口编号,例如...

    delphi 函数详解及应用

    本篇文章将详细介绍 Delphi 中一些常用的功能及其应用场景,涵盖从简单的数学运算到复杂的文件操作等功能。 #### 二、Delphi 常用函数详解 ##### 1. **Abort** - **类型**:函数 - **功能**:触发异常处理机制,...

    Delphi用法一 收藏

    以上就是从给定文件中提取出的 Delphi 基本用法的相关知识点,包括了控件移动、文件系统操作、执行外部程序、字符串操作等多个方面。这些知识点对于初学者来说非常实用,可以帮助他们更快地上手 Delphi 开发。

    DELPHI基础开发技巧

    以上总结了 Delphi 开发中的一些基础技巧和常用知识点,涵盖了文件操作、图形界面编程、文本处理、文件目录管理、外部程序执行以及系统信息获取等方面。这些知识点对于初学者来说非常实用,可以帮助他们更快地上手 ...

    《Delphi高级辅助工具精解》PDF版

    9-4-9 超链接,导航9-4-10 外部文件 9-5 联接(Coupling)符号到代码模型 9-5-1 专用符号和关系 9-5-2 泛化关系 9-5-3 实现关系 9-5-4 包(单元)9-6 文件和OneLiners 9-6-1 浮动的文件视图9-7 图形编辑器 9-7-1 属 ...

    DELPHI的属性

    示例中展示了如何从本地文件`newfile.txt`复制到指定网络路径`//computername/direction/targer.txt`。 2. **鼠标拖动效果**: 通过`MouseMove`、`DragOver`和`EndDrag`事件,可以创建鼠标拖动的效果。在PANEL上,...

Global site tag (gtag.js) - Google Analytics