скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Drag and Drop c Win95 Explorer



Крошка сын к отцу пришел
И сказала кроха:
Navigator - хорошо,
а Explorer - плохо!


interface

uses

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

  ComCtrls;

type

  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    procedure FileIsDropped(var Msg: TMessage); message WM_DropFiles;
  public
    { Public declarations }
  end;

var

  Form1: TForm1;

implementation
uses
  shellapi;
{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin

  DragAcceptFiles(Handle, True);
end;

procedure TForm1.FileIsDropped(var Msg: TMessage);
var

  hDrop: THandle;
  fName: array[0..254] of CHAR;
  NumberOfFiles: INTEGER;
  fCounter: INTEGER;
  Names: string;
begin

  hDrop := Msg.WParam;
  NumberOfFiles := DragQueryFile(hDrop, -1, fName, 254);
  Names := '';
  for fCounter := 1 to NumberOfFiles do
  begin
    DragQueryFile(hDrop, fCounter, fName, 254);
    // Здесь вы получаете один к одному имя вашего файла

    Names := Names + #13#10 + fName;
  end;

  ShowMessage('Бросаем ' + IntToStr(NumberOfFiles) + ' файла(ов) : ' + Names);
  DragFinish(hDrop);
end;

end.






Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook