home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 August / Chip_2000-08_cd1.bin / sharewar / dvcpp / _SETUP.5 / Group3 / oleidl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-03-08  |  9.6 KB  |  272 lines

  1. #ifndef _OLEIDL_H
  2. #define _OLEIDL_H
  3.  
  4. #include <objfwd.h>
  5. typedef interface IParseDisplayname *LPPARSEDISPLAYNAME;
  6. typedef interface IOleContainer *LPOLECONTAINER;
  7. typedef interface IOleClientSite *LPOLECLIENTSITE;
  8. typedef interface IOleObject *LPOLEOBJECT;
  9. typedef interface IDropTarget *LPDROPTARGET;
  10. typedef interface IDropSource *LPDROPSOURCE;
  11. typedef interface IEnumOleDocumentViews *LPENUMOLEDOCUMENTVIEWS;
  12. typedef interface IEnumOleUndoUnits *LPENUMOLEUNDOUNITS;
  13. typedef interface IEnumOLEVERB *LPENUMOLEVERB;
  14. typedef interface IOleWindow *LPOLEWINDOW;
  15. typedef interface IOleInPlaceUIWindow *LPOLEINPLACEUIWINDOW;
  16. typedef interface IOleInPlaceActiveObject *LPOLEINPLACEACTIVEOBJECT;
  17. typedef interface IOleInPlaceFrame *LPOLEINPLACEFRAME;
  18. typedef interface IOleAdviseHolder *LPOLEADVISEHOLDER;
  19. typedef interface IViewObject *LPVIEWOBJECT;
  20. typedef interface IViewObject2 *LPVIEWOBJECT2;
  21.  
  22. typedef enum tagOLEWHICHMK {
  23.     OLEWHICHMK_CONTAINER=1,
  24.     OLEWHICHMK_OBJREL,
  25.     OLEWHICHMK_OBJFULL
  26. } OLEWHICHMK;
  27. typedef enum tagOLEGETMONIKER {
  28.     OLEGETMONIKER_ONLYIFTHERE=1,
  29.     OLEGETMONIKER_FORCEASSIGN,
  30.     OLEGETMONIKER_UNASSIGN,
  31.     OLEGETMONIKER_TEMPFORUSER
  32. } OLEGETMONIKER;
  33. typedef enum tagDROPEFFECT {
  34.     DROPEFFECT_NONE=0,
  35.     DROPEFFECT_COPY=1,
  36.     DROPEFFECT_MOVE=2,
  37.     DROPEFFECT_LINK=4,
  38.     DROPEFFECT_SCROLL=0x80000000
  39. } DROPEFFECT;
  40. typedef struct tagOleMenuGroupWidths {
  41.     LONG width[6];
  42. } OLEMENUGROUPWIDTHS,*LPOLEMENUGROUPWIDTHS;
  43. typedef HGLOBAL HOLEMENU;
  44. typedef enum tagOLECLOSE {
  45.     OLECLOSE_SAVEIFDIRTY,
  46.     OLECLOSE_NOSAVE,
  47.     OLECLOSE_PROMPTSAVE
  48. } OLECLOSE;
  49. typedef struct tagOLEVERB {
  50.     LONG lVerb;
  51.     LPWSTR lpszVerbName;
  52.     DWORD fuFlags;
  53.     DWORD grfAttribs;
  54. } OLEVERB,*LPOLEVERB;
  55. typedef RECT BORDERWIDTHS;
  56. typedef LPRECT LPBORDERWIDTHS;
  57. typedef LPCRECT LPCBORDERWIDTHS;
  58. typedef struct tagOIFI {
  59.     UINT cb;
  60.     BOOL fMDIApp;
  61.     HWND hwndFrame;
  62.     HACCEL haccel;
  63.     UINT cAccelEntries;
  64. }OLEINPLACEFRAMEINFO,*LPOLEINPLACEFRAMEINFO;
  65.  
  66. /*DECLARE_ENUMERATOR_(IEnumOleDocumentViews,IOleDocumentView);*/
  67. DECLARE_ENUMERATOR(OLEVERB);
  68. typedef IEnumOLEVERB IEnumOleVerb;
  69.  
  70. #undef INTERFACE
  71. #define INTERFACE IParseDisplayName
  72. DECLARE_INTERFACE_(IParseDisplayName,IUnknown)
  73. {
  74.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  75.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  76.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  77.     STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
  78. };
  79.  
  80. #undef INTERFACE
  81. #define INTERFACE IOleContainer
  82. DECLARE_INTERFACE_(IOleContainer,IParseDisplayName)
  83. {
  84.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  85.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  86.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  87.     STDMETHOD(ParseDisplayName)(THIS_ IBindCtx*,LPOLESTR,ULONG*,IMoniker**) PURE;
  88.     STDMETHOD(EnumObjects)(THIS_ DWORD,IEnumUnknown**) PURE;
  89.     STDMETHOD(LockContainer)(THIS_ BOOL) PURE;
  90. };
  91.  
  92. #undef INTERFACE
  93. #define INTERFACE IOleClientSite
  94. DECLARE_INTERFACE_(IOleClientSite,IUnknown)
  95. {
  96.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  97.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  98.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  99.     STDMETHOD(SaveObject)(THIS) PURE;
  100.     STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
  101.     STDMETHOD(GetContainer)(THIS_ LPOLECONTAINER*) PURE;
  102.     STDMETHOD(ShowObject)(THIS) PURE;
  103.     STDMETHOD(OnShowWindow)(THIS_ BOOL) PURE;
  104.     STDMETHOD(RequestNewObjectLayout)(THIS) PURE;
  105. };
  106.  
  107. #undef INTERFACE
  108. #define INTERFACE IOleObject
  109. DECLARE_INTERFACE_(IOleObject,IUnknown)
  110. {
  111.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  112.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  113.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  114.     STDMETHOD(SetClientSite)(THIS_ LPOLECLIENTSITE) PURE;
  115.     STDMETHOD(GetClientSite)(THIS_ LPOLECLIENTSITE*) PURE;
  116.     STDMETHOD(SetHostNames)(THIS_ LPCOLESTR,LPCOLESTR) PURE;
  117.     STDMETHOD(Close)(THIS_ DWORD) PURE;
  118.     STDMETHOD(SetMoniker)(THIS_ DWORD,LPMONIKER) PURE;
  119.     STDMETHOD(GetMoniker)(THIS_ DWORD,DWORD,LPMONIKER*) PURE;
  120.     STDMETHOD(InitFromData)(THIS_ LPDATAOBJECT,BOOL,DWORD) PURE;
  121.     STDMETHOD(GetClipboardData)(THIS_ DWORD,LPDATAOBJECT*) PURE;
  122.     STDMETHOD(DoVerb)(THIS_ LONG,LPMSG,LPOLECLIENTSITE,LONG,HWND,LPCRECT) PURE;
  123.     STDMETHOD(EnumVerbs)(THIS_ LPENUMOLEVERB*) PURE;
  124.     STDMETHOD(Update)(THIS) PURE;
  125.     STDMETHOD(IsUpToDate)(THIS) PURE;
  126.     STDMETHOD(GetUserClassID)(THIS_ LPCLSID) PURE;
  127.     STDMETHOD(GetUserType)(THIS_ DWORD,LPOLESTR) PURE;
  128.     STDMETHOD(SetExtent)(THIS_ DWORD,SIZEL) PURE;
  129.     STDMETHOD(GetExtent)(THIS_ DWORD,SIZEL) PURE;
  130.     STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
  131.     STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
  132.     STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
  133.     STDMETHOD(GetMiscStatus)(THIS_ DWORD,PDWORD) PURE;
  134.     STDMETHOD(SetColorScheme)(THIS_ LPLOGPALETTE) PURE;
  135. };
  136.  
  137. #undef INTERFACE
  138. #define INTERFACE IOleWindow
  139. DECLARE_INTERFACE_(IOleWindow,IUnknown)
  140. {
  141.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  142.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  143.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  144.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  145.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  146. };
  147.  
  148. #undef INTERFACE
  149. #define INTERFACE IOleInPlaceUIWindow
  150. DECLARE_INTERFACE_(IOleInPlaceUIWindow,IOleWindow)
  151. {
  152.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  153.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  154.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  155.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  156.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  157.     STDMETHOD(GetBorder)(THIS_ LPRECT) PURE;
  158.     STDMETHOD(RequestBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
  159.     STDMETHOD(SetBorderSpace)(THIS_ LPCBORDERWIDTHS) PURE;
  160.     STDMETHOD(SetActiveObject)(THIS_ LPOLEINPLACEACTIVEOBJECT,LPCOLESTR) PURE;
  161. };
  162.  
  163. #undef INTERFACE
  164. #define INTERFACE IOleInPlaceActiveObject
  165. DECLARE_INTERFACE_(IOleInPlaceActiveObject,IOleWindow)
  166. {
  167.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  168.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  169.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  170.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  171.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  172.     STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
  173.     STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
  174.     STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
  175.     STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
  176.     STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
  177. };
  178.  
  179. #undef INTERFACE
  180. #define INTERFACE IOleInPlaceFrame
  181. DECLARE_INTERFACE_(IOleInPlaceFrame,IOleInPlaceActiveObject)
  182. {
  183.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  184.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  185.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  186.     STDMETHOD(GetWindow)(THIS_ HWND*) PURE;
  187.     STDMETHOD(ContextSensitiveHelp)(THIS_ BOOL) PURE;
  188.     STDMETHOD(TranslateAccelerator)(THIS_ LPMSG) PURE;
  189.     STDMETHOD(OnFrameWindowActivate)(THIS_ BOOL) PURE;
  190.     STDMETHOD(OnDocWindowActivate)(THIS_ BOOL) PURE;
  191.     STDMETHOD(ResizeBorder)(THIS_ LPCRECT,LPOLEINPLACEUIWINDOW,BOOL) PURE;
  192.     STDMETHOD(EnableModeless)(THIS_ BOOL) PURE;
  193.     STDMETHOD(InsertMenus)(THIS_ HMENU,LPOLEMENUGROUPWIDTHS) PURE;
  194.     STDMETHOD(SetMenu)(THIS_ HMENU,HOLEMENU,HWND) PURE;
  195.     STDMETHOD(RemoveMenus)(THIS_ HMENU) PURE;
  196.     STDMETHOD(SetStatusText)(THIS_ LPCOLESTR) PURE;
  197. };
  198.  
  199. #undef INTERFACE
  200. #define INTERFACE IOleAdviseHolder
  201. DECLARE_INTERFACE_(IOleAdviseHolder,IUnknown)
  202. {
  203.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  204.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  205.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  206.     STDMETHOD(Advise)(THIS_ LPADVISESINK,PDWORD) PURE;
  207.     STDMETHOD(Unadvise)(THIS_ DWORD) PURE;
  208.     STDMETHOD(EnumAdvise)(THIS_ LPENUMSTATDATA*) PURE;
  209.     STDMETHOD(SendOnRename)(THIS_ LPMONIKER) PURE;
  210.     STDMETHOD(SendOnSave)(THIS) PURE;
  211.     STDMETHOD(SendOnClose)(THIS) PURE;
  212. };
  213.  
  214. #undef INTERFACE
  215. #define INTERFACE IDropSource
  216. DECLARE_INTERFACE_(IDropSource,IUnknown)
  217. {
  218.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  219.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  220.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  221.     STDMETHOD(QueryContinueDrag)(THIS_ BOOL,DWORD) PURE;
  222.     STDMETHOD(GiveFeedback)(THIS_ DWORD);
  223. };
  224.  
  225. #undef INTERFACE
  226. #define INTERFACE IDropTarget
  227. DECLARE_INTERFACE_(IDropTarget,IUnknown)
  228. {
  229.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  230.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  231.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  232.     STDMETHOD(DragEnter)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
  233.     STDMETHOD(DragOver)(THIS_ DWORD,POINTL,PDWORD) PURE;
  234.     STDMETHOD(DragLeave)(THIS) PURE;
  235.     STDMETHOD(Drop)(THIS_ LPDATAOBJECT,DWORD,POINTL,PDWORD) PURE;
  236. };
  237.  
  238. typedef BOOL(CALLBACK *__IView_pfncont)(DWORD);
  239. #undef INTERFACE
  240. #define INTERFACE IViewObject
  241. DECLARE_INTERFACE_(IViewObject,IUnknown)
  242. {
  243.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  244.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  245.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  246.     STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
  247.     STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
  248.     STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
  249.     STDMETHOD(Unfreeze)(THIS_ DWORD);
  250.     STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
  251.     STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
  252. };
  253.  
  254. #undef INTERFACE
  255. #define INTERFACE IViewObject2
  256. DECLARE_INTERFACE_(IViewObject2,IUnknown)
  257. {
  258.     STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
  259.     STDMETHOD_(ULONG,AddRef)(THIS) PURE;
  260.     STDMETHOD_(ULONG,Release)(THIS) PURE;
  261.     STDMETHOD(Draw)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,HDC,LPCRECTL,LPCRECTL,__IView_pfncont pfnContinue,DWORD) PURE;
  262.     STDMETHOD(GetColorSet)(THIS_ DWORD,LONG,PVOID,DVTARGETDEVICE*,HDC,LPLOGPALETTE*) PURE;
  263.     STDMETHOD(Freeze)(THIS_ DWORD,LONG,PVOID,PDWORD) PURE;
  264.     STDMETHOD(Unfreeze)(THIS_ DWORD);
  265.     STDMETHOD(SetAdvise)(THIS_ DWORD,DWORD,IAdviseSink*) PURE;
  266.     STDMETHOD(GetAdvise)(THIS_ PDWORD,PDWORD,IAdviseSink**) PURE;
  267.     STDMETHOD(GetExtent)(THIS_ DWORD,DWORD,DVTARGETDEVICE*,LPSIZEL) PURE;
  268. };
  269.  
  270. #endif
  271.  
  272.