Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Вниз

Как получить имя файла с перетаскиванием на форму   Найти похожие ветки 

 
AAC   (2003-04-22 14:18) [0]

Необходимо получать имя файла (полный путь), при перетаскивании файла на программу или полученного по [sent to]


 
Dms   (2003-04-22 14:26) [1]


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

type
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure GetDropFile(var Mess:TMEssage); message WM_DROPFILES;
private
{ Private declarations }

public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Form1.Handle, True);
end;

procedure TForm1.GetDropFile(var Mess:TMessage);
var fname:PChar;
begin
GetMem(fname, 30);
DragQueryFile(Mess.WParam, 0, fname, 30);
Edit1.Text:=string(fname);
FreeMem(fname);
end;


 
jack128   (2003-04-22 14:28) [2]

см WM_DROPFILES,DragQueryFile и т.д.


 
[lamer]Barmaglot   (2003-04-22 14:30) [3]

1. Используй Drag-n-Drop RTFM(простой метод): http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1017056225&n=15, либо очень сложный в yandex IDropSource, IDropTarget, IDataObject, IEnumFORMATETC и т.д.

2. То же интерфейсы, расширение оболочки Windows ищи в yandex


 
AAC   (2003-04-22 15:30) [4]

Dms, спасибо!
А как получить список из нескольких файлов попавших на форму, или анологично по SentTo


 
jack128   (2003-04-22 15:36) [5]

AAC (22.04.03 15:30)
А хелп по DragQueryFile прочитать слабо??

UINT DragQueryFile(

HDROP hDrop, // handle to structure for dropped files
UINT iFile, // index of file to query
LPTSTR lpszFile, // buffer for returned filename
UINT cch // size of buffer for filename
);


 
Yanis   (2003-04-22 17:48) [6]

Не знаю, может не в тему но всё таки привожу пример, как запустить файл если его бросить на форму.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics,

Controls, Forms, Dialogs,StdCtrls,

ShellAPI;



type
TForm1 = class(TForm)
Memo1: TMemo
FileNameLabel: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
protected
procedure WMDropFiles(var Msg: TMessage);message wm_DropFiles;

end;

var
Form1: TForm1;
implementation
{$R *.DFM}

procedure TForm1.WMDropFiles(var Msg: TMessage);
var
Filename: array[0 .. 256] of Char;
Count : integer;
begin
nCount := DragQueryFile( msg.WParam, $FFFFFFFF,
acFileName, cnMaxFileNameLen);
DragQueryFile( THandle(Msg.WParam),0,Filename,SizeOf(Filename));


with FileNameLabel do begin
Caption := LowerCase(StrPas(FileName));
Memo1.Lines.LoadfromFile(Caption);
end;
DragFinish(THandle(Msg.WParam));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
DragAcceptFiles(Handle, True);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
DragAcceptFiles(Handle, False);
end;


end.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.05.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.007 c
3-12623
Minotavr
2003-04-14 17:08
2003.05.05
DBGrid


6-12854
OxOTHuK
2003-03-08 09:58
2003.05.05
Потоки....


14-12861
CGI
2003-04-16 12:54
2003.05.05
Посоветуйте компоненты для публикации БД в Web...


14-12874
Андрей
2003-04-15 21:30
2003.05.05
Как выдрать исходник?


14-12893
Soft
2003-04-16 19:01
2003.05.05
Использование несколько цветов в тексте





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский