zoukankan      html  css  js  c++  java
  • 拖放文件到delphi中的事件处理

    1.添加引用ShellAPI。
    2.运行程序时初始化 接受外部拖放。
    3.接收事件
    代码如下:
     1unit mainForm;
     2
     3interface
     4
     5uses
     6  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
     7  Dialogs, StdCtrls, ComCtrls,StrUtils, WinSkinData, SkinCaption,ShellAPI;//添加ShellAPI引用 
     8
     9type
    10  TForm1 = class(TForm)
    11    Button1: TButton;
    12    OpenDialog1: TOpenDialog;
    13    procedure FormCreate(Sender: TObject);
    14    procedure Button1Click(Sender: TObject);
    15  private
    16    { Private declarations }
    17  public
    18    { Public declarations }
    19    procedure DropFiles(var Msg: TMessage); message WM_DROPFILES;
    20
    21  end;
    22
    23var
    24  Form1: TForm1;
    25
    26implementation
    27
    28{$R *.dfm}
    29
    30{ TForm1 }
    31//显示文件路径
    32procedure TForm1.Button1Click(Sender: TObject);
    33begin
    34  if OpenDialog1.Execute then
    35  begin
    36    ShowMessage('当前文件路径为:'+OpenDialog1.FileName);
    37  end;
    38end;
    39//功能同上,显示文件路径
    40procedure TForm1.DropFiles(var Msg: TMessage);
    41var
    42 buffer: array[0..1024of Char;
    43begin
    44  inherited;
    45  buffer[0] := #0;
    46  DragQueryFile(Msg.WParam, 0, buffer, sizeof(buffer)); //第一个文件
    47  ShowMessage('当前文件路径为:'+buffer);
    48end;
    49//初始化,接受外部拖放
    50procedure TForm1.FormCreate(Sender: TObject);
    51begin
    52   DragAcceptFiles(Handle,True);//第二个参数为False时,不启用文件拖放
    53end;
    54
    55end.
  • 相关阅读:
    es5核心技术
    es6 迭代器 和 生成器 学习笔记
    nodejs 基础学习笔记
    node 基本原理
    mac php7 连接数据库遇到的问题
    express ,koa1, koa2学习笔记
    mac mysql的安装
    webpack 给css添加前缀
    利用git将本地的代码同步到github上
    vuex 学习总结及demo
  • 原文地址:https://www.cnblogs.com/dreamszx/p/1574800.html
Copyright © 2011-2022 走看看