Thema: Delphi Drag&Drop nach aussen?

Einzelnen Beitrag anzeigen

neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#4

Re: Drag&Drop nach aussen?

  Alt 16. Sep 2003, 10:29
Das klingt nach arbeit! Ok! Aber es lohnt sich! Wirklich!

IDragSourceHelper
IDropTargetHelper

als letztes auch noch ansehen.
Damit kann man ab Win2k die Alpha-Blend Bilder unterstützen.


Das brauchst du noch dafür...
Delphi-Quellcode:
const
  IID_IDropTargetHelper: TGUID = '{4657278B-411B-11D2-839A-00C04FD918D0}';
  IID_IDragSourceHelper: TGUID = '{DE5BF786-477A-11D2-839D-00C04FD918D0}';
  CLSID_DragDropHelper: TGUID = '{4657278A-411B-11D2-839A-00C04FD918D0}';

type
  IDropTargetHelper = interface(IUnknown)
    ['{4657278B-411B-11D2-839A-00C04FD918D0}']
    function DragEnter(hwndTarget: HWND; pDataObject: IDataObject; var ppt: TPoint; dwEffect: Integer): HRESULT; stdcall;
    function DragLeave: HRESULT; stdcall;
    function DragOver(var ppt: TPoint; dwEffect: Integer): HRESULT; stdcall;
    function Drop(pDataObject: IDataObject; var ppt: TPoint; dwEffect: Integer): HRESULT; stdcall;
    function Show(fShow: Boolean): HRESULT; stdcall;
  end;

  PSHDragImage = ^TSHDragImage;
  TSHDragImage = packed record
    sizeDragImage: TSize;
    ptOffset: TPoint;
    hbmpDragImage: HBITMAP;
    ColorRef: TColorRef;
  end;

  // Nachricht vom IDragSourceHelper die durch das InitializeFromWindow
  // ausgelöst wird : lParam steht eine PWClipbrd.TSHDragImage struktur
const
  DI_GETDRAGIMAGE = 'ShellGetDragImage';
  
type
  IDragSourceHelper = interface(IUnknown)
    ['{DE5BF786-477A-11D2-839D-00C04FD918D0}']
    function InitializeFromBitmap(var SHDragImage: TSHDragImage; pDataObject: IDataObject): HRESULT; stdcall;
    function InitializeFromWindow(Window: HWND; var ppt: TPoint; pDataObject: IDataObject): HRESULT; stdcall;
  end;
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat