delphi 控件 TEmbeddedWB 实现超级拖拽 (super Drag&Drop OR inline Drag&Drop)
2008-03-11 17:03
791 查看
//处理超级拖拽
function TForm1.DropEvent(const dataObj: IDataObject;
grfKeyState: Integer; pt: TPoint; var dwEffect: Integer): HRESULT;
var
aFmtEtc : TFORMATETC;
aStgMed : TSTGMEDIUM;
pData : PChar;
begin
if (dataObj = nil) then
raise Exception.Create('IDataObject-Zeiger Error !');
with aFmtEtc do
begin
cfFormat := CF_TEXT;
ptd := nil;
dwAspect := DVASPECT_CONTENT;
lindex := -1;
tymed := TYMED_HGLOBAL;
end;
OleCheck(dataObj.GetData(aFmtEtc, aStgMed));
try
pData := GlobalLock(aStgMed.hGlobal);
// Text pData = 拖拽的URL
//Memo1.Text := pData;
CreateNewTabBrowser( strPas(pData)); //打开一个新的标签
finally
GlobalUnlock(aStgMed.hGlobal);
ReleaseStgMedium(aStgMed);
end;
Result := S_OK;
end;
function TForm1.DropEvent(const dataObj: IDataObject;
grfKeyState: Integer; pt: TPoint; var dwEffect: Integer): HRESULT;
var
aFmtEtc : TFORMATETC;
aStgMed : TSTGMEDIUM;
pData : PChar;
begin
if (dataObj = nil) then
raise Exception.Create('IDataObject-Zeiger Error !');
with aFmtEtc do
begin
cfFormat := CF_TEXT;
ptd := nil;
dwAspect := DVASPECT_CONTENT;
lindex := -1;
tymed := TYMED_HGLOBAL;
end;
OleCheck(dataObj.GetData(aFmtEtc, aStgMed));
try
pData := GlobalLock(aStgMed.hGlobal);
// Text pData = 拖拽的URL
//Memo1.Text := pData;
CreateNewTabBrowser( strPas(pData)); //打开一个新的标签
finally
GlobalUnlock(aStgMed.hGlobal);
ReleaseStgMedium(aStgMed);
end;
Result := S_OK;
end;
相关文章推荐
- Internet Explorer 编程简述(十一)实现完美的Inplace Drag & Drop——“超级拖放”
- 在.NET中实现窗体控件的内容拖拽效果(Drag-and-Drop)
- Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结
- Internet Explorer 编程简述(十一)实现完美的Inplace Drag & Drop——“超级拖放”
- Atitit。D&D drag&drop拖拽功能c#.net java swing的对比与实现总结
- javascript中实现拖拽drag & drop效果的几种方法
- 在WPF中通过DataTemple实现Drag&Drop控件
- ASP.NET AJAX (Atlas) 拖放(Drag & Drop)功能6种实现方法总结
- GXT之旅:第八章:Portal&Drag-Drop——拖拽(Drag-Drop)基本介绍
- 让你的控件也具有拖拽(drag-and-drop)功能
- VC实现文件管理器拖拽(Drag-and-Drop)
- 第六部分:实现Drop目标对象(OLE drag&drop 之旅)
- HTML5实现元素的原生拖放(drag&drop)【涉及Event对象】
- vue使用drag与drop实现拖拽的示例代码
- SWT 应用程序 实现的Drag and Drop(DND) 和 GEF 树上元素的拖拽
- [NGUI]基于UIDragDropItem脚本实现简单的控件拖拽
- HTML5 drag & drop 拖拽与拖放简介
- 四两拨千斤——Dijit Tree 拖拽(DnD, Drag & Drop)的精细控制
- 让你的控件也具有拖拽(drag-and-drop)功能
- Android开发之Drag&Drop框架实现拖放手势