delphi 控件 TEmbeddedWB 實現超級拖拽 (super Drag&Drop OR inline Drag&Drop)

//處理超級拖拽
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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章