zoukankan      html  css  js  c++  java
  • Delphi 多文件拖放获取路径示例


    unit Unit1;

    interface

    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, ShellAPI;

    type
      TForm1 = class(TForm)
        Memo1: TMemo;
        procedure FormCreate(Sender: TObject);
      private
        // 当文件拖放至窗体中后,系统将向窗体发送WM_DRAPFILES事件,
        // 因此我们可以在WMDROPFILES过程中获取文件总数及文件名。
        procedure WMDROPFILES(var Msg: TMessage); message WM_DROPFILES;
      public
        { Public declarations }
      end;

    var
      Form1: TForm1;

    implementation

    {$R *.dfm}

    procedure TForm1.FormCreate(Sender: TObject);
    begin
      // 当程序启动时,启用文件拖放功能。当第二个参数True时,
      // 启用文件拖放,如果为False则禁止文件拖放。
      DragAcceptFiles(Handle, True);
    end;

    procedure TForm1.WMDROPFILES(var Msg: TMessage);
    var
      FilesCount: Integer; // 文件总数
      i: Integer;
      FileName: array [0 .. 255] of Char;
    begin
      try
        Memo1.Clear;
      // 获取文件总数
        FilesCount := DragQueryFile(Msg.WParam, $FFFFFFFF, nil, 0);
        Memo1.Lines.Add('文件总数为:' + IntToStr(FilesCount));
      // 获取文件名
        for i := 0 to FilesCount - 1 do
          begin
            DragQueryFile(Msg.WParam, i, FileName, 256);
            Memo1.Lines.Add(FileName)
          end;
      finally

        DragFinish(Msg.WParam);
      end;
    end;

    end.




  • 相关阅读:
    MySQL正则表达式 REGEXP详解
    INSERT DELAYED 句法
    mysql查询语句分析 explain用法
    mysql导出导入
    sf04_操作系统中 heap 和 stack 的区别
    2.4 Rust Ownership
    2.1 GO 变量定义
    1.3 IDAE 中使用GO开发项目
    my30_表碎片整理
    my29_PXC集群状态查看
  • 原文地址:https://www.cnblogs.com/xe2011/p/3876202.html
Copyright © 2011-2022 走看看