//+--------------------------------------------------------------------------- // // Microsoft Windows // Copyright (C) Microsoft Corporation, 1993 - 1995. // // File: ocx96.idl // // Contents: 96 extensions to OLE and OLE Controls. // //---------------------------------------------------------------------------- import "oaidl.idl"; import "oleidl.idl"; import "olectl.idl"; import "datapath.idl"; cpp_quote("#define OLEMISC_IGNOREACTIVATEWHENVISIBLE 0x00080000") cpp_quote("#define OLEMISC_SUPPORTSMULTILEVELUNDO 0x00200000") [ local, object, pointer_default(unique), uuid(3af24290-0c96-11ce-a0cf-00aa00600ab8) ] interface IAdviseSinkEx : IAdviseSink { typedef IAdviseSinkEx * LPADVISESINKEX; void OnViewStatusChange([in] DWORD dwViewStatus); } cpp_quote("typedef IAdviseSinkEx * LPADVISESINKEX;") [ local, object, pointer_default(unique), uuid(1c2056cc-5ef4-101b-8bc8-00aa003e3b29) ] interface IOleInPlaceObjectWindowless : IOleInPlaceObject { typedef IOleInPlaceObjectWindowless * LPOLEINPLACEOBJECTWINDOWLESS; HRESULT OnWindowMessage([in] UINT msg, [in] WPARAM wParam, [in] LPARAM lparam, [out] LRESULT *plResult); HRESULT GetDropTarget([out] IDropTarget **ppDropTarget); } cpp_quote("typedef IOleInPlaceObjectWindowless * LPOLEINPLACEOBJECTWINDOWLESS;") [ local, object, pointer_default(unique), uuid(9c2cad80-3424-11cf-b670-00aa004cd6d8) ] interface IOleInPlaceSiteEx : IOleInPlaceSite { typedef enum _ACTIVATEFLAGS { ACTIVATE_WINDOWLESS = 1, } ACTIVATEFLAGS; HRESULT OnInPlaceActivateEx([out] BOOL *pfNoRedraw, [in] DWORD dwFlags); HRESULT OnInPlaceDeactivateEx([in] BOOL fNoRedraw); HRESULT RequestUIActivate(); } cpp_quote("typedef IOleInPlaceSiteEx * LPOLEINPLACESITEEX;") [ local, object, pointer_default(unique), uuid(922eada0-3424-11cf-b670-00aa004cd6d8) ] interface IOleInPlaceSiteWindowless : IOleInPlaceSiteEx { typedef IOleInPlaceSiteWindowless * LPOLEINPLACESITEWINDOWLESS; cpp_quote("#define OLEDC_NODRAW 1") cpp_quote("#define OLEDC_PAINTBKGND 2") cpp_quote("#define OLEDC_OFFSCREEN 4") HRESULT CanWindowlessActivate(); HRESULT GetCapture(); HRESULT SetCapture([in] BOOL fCapture); HRESULT GetFocus(); HRESULT SetFocus([in] BOOL fFocus); HRESULT GetDC([in] LPCRECT prc, [in] DWORD grfFlags, [out] HDC * phDC); HRESULT ReleaseDC([in] HDC hDC); HRESULT InvalidateRect([in] LPCRECT prc, [in] BOOL fErase); HRESULT InvalidateRgn([in] HRGN hrgn, [in] BOOL fErase); HRESULT ScrollRect([in] int dx, [in] int dy, [in] LPCRECT prcScroll, [in] LPCRECT prcClip); HRESULT AdjustRect([in, out] LPRECT prc); HRESULT OnDefWindowMessage([in] UINT msg, [in] WPARAM wParam, [in] LPARAM lParam, [out] LRESULT *plResult); } cpp_quote("typedef IOleInPlaceSiteWindowless * LPOLEINPLACESITEWINDOWLESS;") [ local, object, pointer_default(unique), uuid(3af24292-0c96-11ce-a0cf-00aa00600ab8) ] interface IViewObjectEx : IViewObject2 { typedef IViewObjectEx * LPVIEWOBJECTEX; typedef enum _VIEWSTATUS { VIEWSTATUS_OPAQUE = 1, VIEWSTATUS_SOLIDBKGND = 2, VIEWSTATUS_DVASPECTOPAQUE = 4, VIEWSTATUS_DVASPECTTRANSPARENT = 8, } VIEWSTATUS; typedef enum _HITRESULT { HITRESULT_OUTSIDE = 0, HITRESULT_TRANSPARENT = 1, HITRESULT_CLOSE = 2, HITRESULT_HIT = 3 } HITRESULT; typedef enum _DVASPECT2 { DVASPECT_OPAQUE = 16, DVASPECT_TRANSPARENT = 32, } DVASPECT2; typedef struct tagExtentInfo { UINT cb; DWORD dwExtentMode; SIZEL sizelProposed; } DVEXTENTINFO; typedef enum tagExtentMode { DVEXTENT_CONTENT, DVEXTENT_INTEGRAL } DVEXTENTMODE; typedef enum tagAspectInfoFlag { DVASPECTINFOFLAG_CANOPTIMIZE = 1 } DVASPECTINFOFLAG; typedef struct tagAspectInfo { UINT cb; DWORD dwFlags; } DVASPECTINFO; HRESULT GetRect([in] DWORD dwAspect, [out] LPRECTL pRect); HRESULT GetViewStatus([out] DWORD * pdwStatus); HRESULT QueryHitPoint( [in] DWORD dwAspect, [in] LPCRECT pRectBounds, [in] POINT ptlLoc, [in] LONG lCloseHint, [out] DWORD * pHitResult); HRESULT QueryHitRect( [in] DWORD dwAspect, [in] LPCRECT pRectBounds, [in] LPCRECT prcLoc, [in] LONG lCloseHint, [out] DWORD * pHitResult); HRESULT GetNaturalExtent ( [in] DWORD dwAspect, [in] LONG lindex, [in] DVTARGETDEVICE * ptd, [in] HDC hicTargetDev, [in] DVEXTENTINFO * pExtentInfo, [out] LPSIZEL psizel); } cpp_quote("typedef IViewObjectEx * LPVIEWOBJECTEX;") // -------------------------------------------------------------------------- // // Undo interfaces // // -------------------------------------------------------------------------- interface IOleUndoManager; cpp_quote("#define UAS_NORMAL 0") cpp_quote("#define UAS_BLOCKED 1") cpp_quote("#define UAS_NOPARENTENABLE 2") cpp_quote("#define UAS_MASK 0x03") [ object, pointer_default(unique), uuid(894ad3b0-ef97-11ce-9bc9-00aa00608e01) ] interface IOleUndoUnit : IUnknown { HRESULT Do([in] IOleUndoManager * pUndoManager); HRESULT GetDescription([out] BSTR *pbstr); HRESULT GetUnitType([out] CLSID *pclsid, [out] LONG * plID); HRESULT OnNextAdd(void); } cpp_quote("typedef IOleUndoUnit * LPOLEUNDOUNIT;") [ object, pointer_default(unique), uuid(a1faf330-ef97-11ce-9bc9-00aa00608e01) ] interface IOleParentUndoUnit : IOleUndoUnit { HRESULT Open([in] IOleParentUndoUnit * pPUU); HRESULT Close([in] IOleParentUndoUnit * pPUU, [in] BOOL fCommit); HRESULT Add([in] IOleUndoUnit * pUU); HRESULT FindUnit([in] IOleUndoUnit * pUU); HRESULT GetParentState([out] DWORD * pdwState); } cpp_quote("typedef IOleParentUndoUnit * LPOLEPARENTUNDOUNIT;") [ object, pointer_default(unique), uuid(b3e7c340-ef97-11ce-9bc9-00aa00608e01) ] interface IEnumOleUndoUnits : IUnknown { HRESULT Next ( [in] ULONG celt, #ifndef __MKTYPLIB__ [out, size_is(celt), length_is((ULONG) (pceltFetched != 0) ? *pceltFetched : celt)] #endif [out] IOleUndoUnit ** rgelt, [in, out] ULONG *pceltFetched ); HRESULT Skip([in] ULONG celt); HRESULT Reset(void); HRESULT Clone([out] IEnumOleUndoUnits **ppenum); } cpp_quote("typedef IEnumOleUndoUnits * LPENUMOLEUNDOUNITS;") cpp_quote("#define SID_SOleUndoManager IID_IOleUndoManager") [ object, pointer_default(unique), uuid(d001f200-ef97-11ce-9bc9-00aa00608e01) ] interface IOleUndoManager : IUnknown { HRESULT Open([in] IOleParentUndoUnit * pPUU); HRESULT Close([in] IOleParentUndoUnit *pPUU, [in] BOOL fCommit); HRESULT Add([in] IOleUndoUnit * pUU); HRESULT GetOpenParentState([out] DWORD * pdwState); HRESULT DiscardFrom([in] IOleUndoUnit * pUU); HRESULT UndoTo([in] IOleUndoUnit * pUU); HRESULT RedoTo([in] IOleUndoUnit * pUU); HRESULT EnumUndoable([out] IEnumOleUndoUnits **ppEnum); HRESULT EnumRedoable([out] IEnumOleUndoUnits **ppEnum); HRESULT GetLastUndoDescription([out] BSTR *pbstr); HRESULT GetLastRedoDescription([out] BSTR *pbstr); HRESULT Enable([in] BOOL fEnable); } cpp_quote("typedef IOleUndoManager * LPOLEUNDOMANAGER;") cpp_quote("#define QACONTAINER_SHOWHATCHING 0x0001") cpp_quote("#define QACONTAINER_SHOWGRABHANDLES 0x0002") cpp_quote("#define QACONTAINER_USERMODE 0x0004") cpp_quote("#define QACONTAINER_DISPLAYASDEFAULT 0x0008") cpp_quote("#define QACONTAINER_UIDEAD 0x0010") cpp_quote("#define QACONTAINER_AUTOCLIP 0x0020") cpp_quote("#define QACONTAINER_MESSAGEREFLECT 0x0040") cpp_quote("#define QACONTAINER_SUPPORTSMNEMONICS 0x0080") typedef struct _QACONTAINER { ULONG cbSize; IOleClientSite * pClientSite; IAdviseSinkEx * pAdviseSink; IPropertyNotifySink* pPropertyNotifySink; IUnknown * pUnkEventSink; DWORD dwAmbientFlags; OLE_COLOR colorFore; OLE_COLOR colorBack; IFont * pFont; IOleUndoManager * pUndoMgr; DWORD dwAppearance; LONG lcid; HPALETTE hpal; IBindHost * pBindHost; } QACONTAINER; typedef struct _QACONTROL { ULONG cbSize; DWORD dwMiscStatus; DWORD dwViewStatus; DWORD dwEventCookie; DWORD dwPropNotifyCookie; DWORD dwPointerActivationPolicy; } QACONTROL; [local, object, pointer_default(unique), uuid(cf51ed10-62fe-11cf-bf86-00a0c9034836)] interface IQuickActivate : IUnknown { HRESULT QuickActivate( [in] QACONTAINER *pqacontainer, [out] QACONTROL *pqacontrol); HRESULT SetContentExtent(LPSIZEL lpsizel); HRESULT GetContentExtent(LPSIZEL lpsizel); } cpp_quote("typedef IQuickActivate * LPQUICKACTIVATE;") typedef enum _POINTERINACTIVE { POINTERINACTIVE_ACTIVATEONENTRY = 1, POINTERINACTIVE_DEACTIVATEONLEAVE = 2, POINTERINACTIVE_ACTIVATEONDRAG = 4 } POINTERINACTIVE; [ local, object, pointer_default(unique), uuid(55980ba0-35aa-11cf-b671-00aa004cd6d8) ] interface IPointerInactive : IUnknown { HRESULT GetActivationPolicy ( [out] DWORD * pdwPolicy ); HRESULT OnInactiveMouseMove ( [in] LPCRECT pRectBounds, [in] long x, [in] long y, [in] DWORD grfKeyState ); HRESULT OnInactiveSetCursor ( [in] LPCRECT pRectBounds, [in] long x, [in] long y, [in] DWORD dwMouseMsg, [in] BOOL fSetAlways ); } cpp_quote("typedef IPointerInactive * LPPOINTERINACTIVE;")