![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перетащить из Експлорера ссылку на форму [D5, D6, Win95/98, WinXP]
GGWIN © (2002-10-15 17:40:00)Собственно в сабже все написано.
Файлы перетаскивать умею (спасибо этому сайту), а ссылки - нет.
Кто-нить подскажет, как это делается?
GGWIN (2002-10-15 19:25:00) [1]Куль!!!
Вери сенькс!!!
Еще бы понять ... :)))
MBo (2002-10-15 17:49:00) [2]Almaz © (18.07.02 04:06)
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ActiveX;
type
TDropTarget = class (TInterfacedObject, IDropTarget)
function DragEnter(const dataObj: IDataObject; grfKeyState: Longint;
pt: TPoint; var dwEffect: Longint): HResult; stdcall;
function DragOver(grfKeyState: Longint; pt: TPoint;
var dwEffect: Longint): HResult; stdcall;
function DragLeave: HResult; stdcall;
function Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint;
var dwEffect: Longint): HResult; stdcall;
end;
TForm1 = class(TForm)
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
DropTarget: TDropTarget;
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
function TDropTarget.DragEnter(const dataObj: IDataObject; grfKeyState: Longint;
pt: TPoint; var dwEffect: Longint): HResult;
begin
Result := S_OK;
end;
function TDropTarget.DragOver(grfKeyState: Longint; pt: TPoint;
var dwEffect: Longint): HResult;
begin
Result := S_OK;
end;
function TDropTarget.DragLeave: HResult;
begin
Result := S_OK;
end;
function TDropTarget.Drop(const dataObj: IDataObject; grfKeyState: Longint; pt: TPoint;
var dwEffect: Longint): HResult;
var
Format: TFORMATETC;
Data: TSTGMEDIUM;
Buffer: PChar;
begin
with Format do
begin
cfFormat := CF_TEXT;
dwAspect := DVASPECT_CONTENT;
ptd := nil;
lindex := -1;
tymed := -1;
end;
Result := dataObj.GetData(Format, Data);
if (Result = S_OK) and (Data.tymed = TYMED_HGLOBAL) then
begin
Buffer := GlobalLock(Data.hGlobal);
Form1.Edit1.Text := Buffer;
GlobalFree(Data.hGlobal);
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
if OleInitialize(nil) = S_OK then
begin
DropTarget := TDropTarget.Create;
RegisterDragDrop(Handle, DropTarget);
end;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
OleUninitialize;
end;
end.
На форме должен находиться TEdit, в который и будут помещаться URL.
AL2002 (2002-10-15 17:49:00) [3]Drag and Drop Component Suite спасёт?
Помогает перетасиквать всё, что можно перетаскивать.