IRichEditOle - drag {*
* IRichEditOle
*
* Purpose:
* Interface used by the client of RichEdit to perform OLE-related
* operations.
IRichEditOleCallback -
* IRichEditOleCallback
*
* Purpose:
* Interface used by the RichEdit to get OLE-related stuff from the
* application using RichEdit.
RichEdit_GetOleInterface -
RichEdit_SetOleCallback -
TREOBJECT
RECO_COPY
RECO_CUT
RECO_DRAG
RECO_DROP
RECO_PASTE
REO_BELOWBASELINE
REO_BLANK
REO_CP_SELECTION
REO_DONTNEEDPALETTE
REO_DYNAMICSIZE
REO_GETMETAFILE
REO_GETOBJ_ALL_INTERFACES
REO_GETOBJ_NO_INTERFACES
REO_GETOBJ_POLEOBJ
REO_GETOBJ_POLESITE
REO_GETOBJ_PSTG
REO_HILITED
REO_INPLACEACTIVE
REO_INVERTEDSELECT
REO_IOB_SELECTION
REO_IOB_USE_CP
REO_LINK
REO_LINKAVAILABLE
REO_NULL
REO_OPEN
REO_READWRITEMASK
REO_RESIZABLE
REO_SELECTED
REO_STATIC
function RichEdit_GetOleInterface(RichEdit: HWnd; out OleInterface: IRichEditOle): BOOL;
function RichEdit_SetOleCallback(RichEdit: HWnd; OleInterface: IRichEditOleCallback): BOOL;
TREOBJECT = record
cbStruct : DWORD;
cp : longint;
clsid : TCLSID;
oleobj : IOleObject;
stg : IStorage;
olesite : IOLEClientSite;
sizel : TSize;
dvaspect : DWORD;
dwFlags : DWORD;
dwUser : DWORD;
end;
Structure passed to GetObject and InsertObject
RECO_COPY = $00000002
drop
RECO_CUT = $00000003
copy to the clipboard
RECO_DRAG = $00000004
cut to the clipboard
RECO_DROP = $00000001
paste from clipboard
RECO_PASTE = $00000000
Object requires metafile (RO) flags for IRichEditOle::GetClipboardData(), IRichEditOleCallback::GetClipboardData() and IRichEditOleCallback::QueryAcceptData(
REO_BELOWBASELINE = $00000002
Object drawn all inverted if sel
REO_BLANK = $00000010
Object doesn't need palette
REO_CP_SELECTION = $FFFFFFFF
Place object at selection
REO_DONTNEEDPALETTE = $00000020
Mask out RO bits
REO_DYNAMICSIZE = $00000008
Object is blank
REO_GETMETAFILE = $00400000
Link believed available (RO
REO_GETOBJ_ALL_INTERFACES = $00000007
REO_GETOBJ_NO_INTERFACES = $00000000
Flags to specify which interfaces should be returned in the structure above
REO_GETOBJ_POLEOBJ = $00000001
REO_GETOBJ_POLESITE = $00000004
REO_GETOBJ_PSTG = $00000002
REO_HILITED = $01000000
Object in place active (RO
REO_INPLACEACTIVE = $02000000
Object open in its server (RO
REO_INVERTEDSELECT = $00000004
Object defines size always
REO_IOB_SELECTION = $FFFFFFFF
Use character position to specify object instead of index
REO_IOB_USE_CP = $FFFFFFFE
REO_LINK = $80000000
Object may be resized
REO_LINKAVAILABLE = $00800000
Object is to be hilited (RO
REO_NULL = $00000000
Object flags
REO_OPEN = $04000000
Object selected (RO
REO_READWRITEMASK = $0000003F
No flags
REO_RESIZABLE = $00000001
Object sits below the baseline
REO_SELECTED = $08000000
Object is static (RO
REO_STATIC = $40000000
Object is a link (RO