home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1996 December / PCWKCD1296.iso / vjplusb / activex / inetsdk / include / olectl.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-07-05  |  19.8 KB  |  566 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // olectl.h     OLE Control interfaces
  4. //
  5. //              OLE Version 2.0
  6. //
  7. //              Copyright (c) 1992-1996, Microsoft Corp. All rights reserved.
  8. //
  9. /////////////////////////////////////////////////////////////////////////////
  10.  
  11.  
  12. #ifndef _OLECTL_H_
  13. #define _OLECTL_H_
  14.  
  15. #if !defined(__MKTYPLIB__) && !defined(__midl)
  16.  
  17. #if defined(_MAC)
  18. #include <macocidl.h>
  19. #else // not _MAC
  20.  
  21. #if !defined(RC_INVOKED)
  22. #pragma pack(8)
  23. #endif
  24.  
  25. #include <ocidl.h>
  26. #endif // _MAC
  27.  
  28. #ifdef _OLEAUT32_
  29. #define WINOLECTLAPI        STDAPI
  30. #define WINOLECTLAPI_(type) STDAPI_(type)
  31. #else
  32. #define WINOLECTLAPI        EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE
  33. #define WINOLECTLAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE
  34. #endif
  35.  
  36. #if !defined(INITGUID)
  37.  
  38. DEFINE_GUID(IID_IPropertyFrame,
  39.     0xB196B28A,0xBAB4,0x101A,0xB6,0x9C,0x00,0xAA,0x00,0x34,0x1D,0x07);
  40.  
  41. //
  42. //  Class IDs for property sheet implementations
  43. //
  44.  
  45. DEFINE_GUID(CLSID_CFontPropPage, 
  46.     0x0be35200,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  47. DEFINE_GUID(CLSID_CColorPropPage, 
  48.     0x0be35201,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  49. DEFINE_GUID(CLSID_CPicturePropPage, 
  50.     0x0be35202,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  51.  
  52. //
  53. //  Class IDs for persistent property set formats
  54. //
  55.  
  56. DEFINE_GUID(CLSID_PersistPropset,
  57.     0xfb8f0821,0x0164,0x101b,0x84,0xed,0x08,0x00,0x2b,0x2e,0xc7,0x13);
  58. DEFINE_GUID(CLSID_ConvertVBX,
  59.     0xfb8f0822,0x0164,0x101b,0x84,0xed,0x08,0x00,0x2b,0x2e,0xc7,0x13);
  60.  
  61. //
  62. //  Class ID for standard implementations of IFont and IPicture
  63.  
  64. DEFINE_GUID(CLSID_StdFont, 
  65.     0x0be35203,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  66. DEFINE_GUID(CLSID_StdPicture, 
  67.     0x0be35204,0x8f91,0x11ce,0x9d,0xe3,0x00,0xaa,0x00,0x4b,0xb8,0x51);
  68.  
  69. //
  70. //  GUIDs for standard types
  71. //
  72.  
  73. DEFINE_GUID(GUID_HIMETRIC,
  74.     0x66504300,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  75. DEFINE_GUID(GUID_COLOR,
  76.     0x66504301,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  77. DEFINE_GUID(GUID_XPOSPIXEL,
  78.     0x66504302,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  79. DEFINE_GUID(GUID_YPOSPIXEL,
  80.     0x66504303,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  81. DEFINE_GUID(GUID_XSIZEPIXEL,
  82.     0x66504304,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  83. DEFINE_GUID(GUID_YSIZEPIXEL,
  84.     0x66504305,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  85. DEFINE_GUID(GUID_XPOS,
  86.     0x66504306,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  87. DEFINE_GUID(GUID_YPOS,
  88.     0x66504307,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  89. DEFINE_GUID(GUID_XSIZE,
  90.     0x66504308,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  91. DEFINE_GUID(GUID_YSIZE,
  92.     0x66504309,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  93.  
  94. #if !defined( __CGUID_H__ )
  95. DEFINE_GUID(GUID_TRISTATE,
  96.     0x6650430A,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  97. #endif
  98.  
  99. DEFINE_GUID(GUID_OPTIONVALUEEXCLUSIVE,
  100.     0x6650430B,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  101. DEFINE_GUID(GUID_CHECKVALUEEXCLUSIVE,
  102.     0x6650430C,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  103. DEFINE_GUID(GUID_FONTNAME,
  104.     0x6650430D,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  105. DEFINE_GUID(GUID_FONTSIZE,
  106.     0x6650430E,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  107. DEFINE_GUID(GUID_FONTBOLD,
  108.     0x6650430F,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  109. DEFINE_GUID(GUID_FONTITALIC,
  110.     0x66504310,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  111. DEFINE_GUID(GUID_FONTUNDERSCORE,
  112.     0x66504311,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  113. DEFINE_GUID(GUID_FONTSTRIKETHROUGH,
  114.     0x66504312,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  115. DEFINE_GUID(GUID_HANDLE,
  116.     0x66504313,0xBE0F,0x101A,0x8B,0xBB,0x00,0xAA,0x00,0x30,0x0C,0xAB);
  117.  
  118. #endif // INITGUID
  119.  
  120.  
  121. /////////////////////////////////////////////////////////////////////////////
  122. // OCPFIPARAMS structure - parameters for OleCreatePropertyFrameIndirect
  123.  
  124. typedef struct tagOCPFIPARAMS
  125. {
  126.     ULONG cbStructSize;
  127.     HWND hWndOwner;
  128.     int x;
  129.     int y;
  130.     LPCOLESTR lpszCaption;
  131.     ULONG cObjects;
  132.     LPUNKNOWN FAR* lplpUnk;
  133.     ULONG cPages;
  134.     CLSID FAR* lpPages;
  135.     LCID lcid;
  136.     DISPID dispidInitialProperty;
  137.  
  138. } OCPFIPARAMS, FAR* LPOCPFIPARAMS;
  139.  
  140.  
  141. /////////////////////////////////////////////////////////////////////////////
  142. // FONTDESC structure
  143.  
  144. #define FONTSIZE(n) { n##0000, 0 }
  145.  
  146. typedef struct tagFONTDESC
  147. {
  148.     UINT cbSizeofstruct;
  149.     LPOLESTR lpstrName;
  150.     CY cySize;
  151.     SHORT sWeight;
  152.     SHORT sCharset;
  153.     BOOL fItalic;
  154.     BOOL fUnderline;
  155.     BOOL fStrikethrough;
  156.  
  157. } FONTDESC, FAR* LPFONTDESC;
  158.  
  159.  
  160. /////////////////////////////////////////////////////////////////////////////
  161. // PICTDESC structure
  162.  
  163. #define PICTYPE_UNINITIALIZED (-1)
  164. #define PICTYPE_NONE            0
  165. #define PICTYPE_BITMAP          1
  166. #define PICTYPE_METAFILE        2
  167. #define PICTYPE_ICON            3
  168. #ifdef _WIN32
  169. #define PICTYPE_ENHMETAFILE     4
  170. #endif
  171.  
  172. typedef struct tagPICTDESC
  173. {
  174.     UINT cbSizeofstruct;
  175.     UINT picType;
  176.     union
  177.     {
  178.         struct
  179.         {
  180.             HBITMAP   hbitmap;        // Bitmap
  181.             HPALETTE  hpal;           // Accompanying palette
  182.         } bmp;
  183.  
  184.         struct
  185.         {
  186.             HMETAFILE hmeta;          // Metafile
  187.             int       xExt;
  188.             int       yExt;           // Extent
  189.         } wmf;
  190.  
  191.         struct
  192.         {
  193.             HICON hicon;              // Icon
  194.         } icon;
  195.  
  196. #ifdef _WIN32
  197.         struct
  198.         {
  199.             HENHMETAFILE hemf;        // Enhanced Metafile
  200.         } emf;
  201. #endif
  202.     };
  203.  
  204. } PICTDESC, FAR* LPPICTDESC;
  205.  
  206.  
  207. /////////////////////////////////////////////////////////////////////////////
  208. // Typedefs for standard scalar types
  209.  
  210. typedef long OLE_XPOS_PIXELS;
  211. typedef long OLE_YPOS_PIXELS;
  212. typedef long OLE_XSIZE_PIXELS;
  213. typedef long OLE_YSIZE_PIXELS;
  214. typedef float OLE_XPOS_CONTAINER;
  215. typedef float OLE_YPOS_CONTAINER;
  216. typedef float OLE_XSIZE_CONTAINER;
  217. typedef float OLE_YSIZE_CONTAINER;
  218. typedef enum { triUnchecked = 0, triChecked = 1, triGray = 2 } OLE_TRISTATE;
  219. typedef VARIANT_BOOL OLE_OPTEXCLUSIVE;
  220. typedef VARIANT_BOOL OLE_CANCELBOOL;
  221. typedef VARIANT_BOOL OLE_ENABLEDEFAULTBOOL;
  222.  
  223. /////////////////////////////////////////////////////////////////////////////
  224. // FACILITY_CONTROL status codes
  225.  
  226. #ifndef FACILITY_CONTROL
  227. #define FACILITY_CONTROL 0xa
  228. #endif
  229.  
  230. #define STD_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_CONTROL, n)
  231. #define CTL_E_ILLEGALFUNCTIONCALL       STD_CTL_SCODE(5)
  232. #define CTL_E_OVERFLOW                  STD_CTL_SCODE(6)
  233. #define CTL_E_OUTOFMEMORY               STD_CTL_SCODE(7)
  234. #define CTL_E_DIVISIONBYZERO            STD_CTL_SCODE(11)
  235. #define CTL_E_OUTOFSTRINGSPACE          STD_CTL_SCODE(14)
  236. #define CTL_E_OUTOFSTACKSPACE           STD_CTL_SCODE(28)
  237. #define CTL_E_BADFILENAMEORNUMBER       STD_CTL_SCODE(52)
  238. #define CTL_E_FILENOTFOUND              STD_CTL_SCODE(53)
  239. #define CTL_E_BADFILEMODE               STD_CTL_SCODE(54)
  240. #define CTL_E_FILEALREADYOPEN           STD_CTL_SCODE(55)
  241. #define CTL_E_DEVICEIOERROR             STD_CTL_SCODE(57)
  242. #define CTL_E_FILEALREADYEXISTS         STD_CTL_SCODE(58)
  243. #define CTL_E_BADRECORDLENGTH           STD_CTL_SCODE(59)
  244. #define CTL_E_DISKFULL                  STD_CTL_SCODE(61)
  245. #define CTL_E_BADRECORDNUMBER           STD_CTL_SCODE(63)
  246. #define CTL_E_BADFILENAME               STD_CTL_SCODE(64)
  247. #define CTL_E_TOOMANYFILES              STD_CTL_SCODE(67)
  248. #define CTL_E_DEVICEUNAVAILABLE         STD_CTL_SCODE(68)
  249. #define CTL_E_PERMISSIONDENIED          STD_CTL_SCODE(70)
  250. #define CTL_E_DISKNOTREADY              STD_CTL_SCODE(71)
  251. #define CTL_E_PATHFILEACCESSERROR       STD_CTL_SCODE(75)
  252. #define CTL_E_PATHNOTFOUND              STD_CTL_SCODE(76)
  253. #define CTL_E_INVALIDPATTERNSTRING      STD_CTL_SCODE(93)
  254. #define CTL_E_INVALIDUSEOFNULL          STD_CTL_SCODE(94)
  255. #define CTL_E_INVALIDFILEFORMAT         STD_CTL_SCODE(321)
  256. #define CTL_E_INVALIDPROPERTYVALUE      STD_CTL_SCODE(380)
  257. #define CTL_E_INVALIDPROPERTYARRAYINDEX STD_CTL_SCODE(381)
  258. #define CTL_E_SETNOTSUPPORTEDATRUNTIME  STD_CTL_SCODE(382)
  259. #define CTL_E_SETNOTSUPPORTED           STD_CTL_SCODE(383)
  260. #define CTL_E_NEEDPROPERTYARRAYINDEX    STD_CTL_SCODE(385)
  261. #define CTL_E_SETNOTPERMITTED           STD_CTL_SCODE(387)
  262. #define CTL_E_GETNOTSUPPORTEDATRUNTIME  STD_CTL_SCODE(393)
  263. #define CTL_E_GETNOTSUPPORTED           STD_CTL_SCODE(394)
  264. #define CTL_E_PROPERTYNOTFOUND          STD_CTL_SCODE(422)
  265. #define CTL_E_INVALIDCLIPBOARDFORMAT    STD_CTL_SCODE(460)
  266. #define CTL_E_INVALIDPICTURE            STD_CTL_SCODE(481)
  267. #define CTL_E_PRINTERERROR              STD_CTL_SCODE(482)
  268. #define CTL_E_CANTSAVEFILETOTEMP        STD_CTL_SCODE(735)
  269. #define CTL_E_SEARCHTEXTNOTFOUND        STD_CTL_SCODE(744)
  270. #define CTL_E_REPLACEMENTSTOOLONG       STD_CTL_SCODE(746)
  271.  
  272. #define CUSTOM_CTL_SCODE(n) MAKE_SCODE(SEVERITY_ERROR, FACILITY_CONTROL, n)
  273. #define CTL_E_CUSTOM_FIRST              CUSTOM_CTL_SCODE(600)
  274.  
  275.  
  276. /////////////////////////////////////////////////////////////////////////////
  277. // IClassFactory2 status codes
  278.  
  279. #define CLASS_E_NOTLICENSED         (CLASSFACTORY_E_FIRST+2)
  280. // class is not licensed for use
  281.  
  282.  
  283. /////////////////////////////////////////////////////////////////////////////
  284. // IConnectionPoint status codes
  285.  
  286. #define CONNECT_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  287. #define CONNECT_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  288. #define CONNECT_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  289. #define CONNECT_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  290.  
  291. #define CONNECT_E_NOCONNECTION      (CONNECT_E_FIRST+0)
  292. // there is no connection for this connection id
  293.  
  294. #define CONNECT_E_ADVISELIMIT       (CONNECT_E_FIRST+1)
  295. // this implementation's limit for advisory connections has been reached
  296.  
  297. #define CONNECT_E_CANNOTCONNECT     (CONNECT_E_FIRST+2)
  298. // connection attempt failed
  299.  
  300. #define CONNECT_E_OVERRIDDEN        (CONNECT_E_FIRST+3)
  301. // must use a derived interface to connect
  302.  
  303.  
  304. /////////////////////////////////////////////////////////////////////////////
  305. // DllRegisterServer/DllUnregisterServer status codes
  306.  
  307. #define SELFREG_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  308. #define SELFREG_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  309. #define SELFREG_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  310. #define SELFREG_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  311.  
  312. #define SELFREG_E_TYPELIB           (SELFREG_E_FIRST+0)
  313. // failed to register/unregister type library
  314.  
  315. #define SELFREG_E_CLASS             (SELFREG_E_FIRST+1)
  316. // failed to register/unregister class
  317.  
  318.  
  319. /////////////////////////////////////////////////////////////////////////////
  320. // IPerPropertyBrowsing status codes
  321.  
  322. #define PERPROP_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  323. #define PERPROP_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  324. #define PERPROP_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  325. #define PERPROP_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  326.  
  327. #define PERPROP_E_NOPAGEAVAILABLE   (PERPROP_E_FIRST+0)
  328. // no page available for requested property
  329.  
  330.  
  331. /////////////////////////////////////////////////////////////////////////////
  332. // OLEMISC_ constants (they are also defined in the latest oleidl.h)
  333.  
  334. #define OLEMISC_INVISIBLEATRUNTIME  0x00000400L
  335. #define OLEMISC_ALWAYSRUN           0x00000800L
  336. #define OLEMISC_ACTSLIKEBUTTON      0x00001000L
  337. #define OLEMISC_ACTSLIKELABEL       0x00002000L
  338. #define OLEMISC_NOUIACTIVATE        0x00004000L
  339. #define OLEMISC_ALIGNABLE           0x00008000L
  340. #define OLEMISC_SIMPLEFRAME         0x00010000L
  341. #define OLEMISC_SETCLIENTSITEFIRST  0x00020000L
  342. #define OLEMISC_IMEMODE             0x00040000L
  343.  
  344.  
  345. /////////////////////////////////////////////////////////////////////////////
  346. // OLEIVERB_ constants
  347.  
  348. #ifndef OLEIVERB_PROPERTIES
  349. #define OLEIVERB_PROPERTIES (-7L)
  350. #endif
  351.  
  352.  
  353. /////////////////////////////////////////////////////////////////////////////
  354. // Variant type (VT_) tags for property sets
  355.  
  356. #define VT_STREAMED_PROPSET 73  //       [P]  Stream contains a property set
  357. #define VT_STORED_PROPSET   74  //       [P]  Storage contains a property set
  358. #define VT_BLOB_PROPSET     75  //       [P]  Blob contains a property set
  359. #define VT_VERBOSE_ENUM     76  //       [P]  Enum value with text string
  360.  
  361.  
  362. /////////////////////////////////////////////////////////////////////////////
  363. // Variant type (VT_) tags that are just aliases for others
  364.  
  365. #define VT_COLOR            VT_I4
  366. #define VT_XPOS_PIXELS      VT_I4
  367. #define VT_YPOS_PIXELS      VT_I4
  368. #define VT_XSIZE_PIXELS     VT_I4
  369. #define VT_YSIZE_PIXELS     VT_I4
  370. #define VT_XPOS_HIMETRIC    VT_I4
  371. #define VT_YPOS_HIMETRIC    VT_I4
  372. #define VT_XSIZE_HIMETRIC   VT_I4
  373. #define VT_YSIZE_HIMETRIC   VT_I4
  374. #define VT_TRISTATE         VT_I2
  375. #define VT_OPTEXCLUSIVE     VT_BOOL
  376. #define VT_FONT             VT_DISPATCH
  377. #define VT_PICTURE          VT_DISPATCH
  378.  
  379. #ifdef _WIN32
  380. #define VT_HANDLE           VT_I4
  381. #else
  382. #define VT_HANDLE           VT_I2
  383. #endif
  384.  
  385.  
  386. /////////////////////////////////////////////////////////////////////////////
  387. // Reflected Window Message IDs
  388.  
  389. #define OCM__BASE           (WM_USER+0x1c00)
  390. #define OCM_COMMAND         (OCM__BASE + WM_COMMAND)
  391.  
  392. #ifdef _WIN32
  393. #define OCM_CTLCOLORBTN     (OCM__BASE + WM_CTLCOLORBTN)
  394. #define OCM_CTLCOLOREDIT    (OCM__BASE + WM_CTLCOLOREDIT)
  395. #define OCM_CTLCOLORDLG     (OCM__BASE + WM_CTLCOLORDLG)
  396. #define OCM_CTLCOLORLISTBOX (OCM__BASE + WM_CTLCOLORLISTBOX)
  397. #define OCM_CTLCOLORMSGBOX  (OCM__BASE + WM_CTLCOLORMSGBOX)
  398. #define OCM_CTLCOLORSCROLLBAR   (OCM__BASE + WM_CTLCOLORSCROLLBAR)
  399. #define OCM_CTLCOLORSTATIC  (OCM__BASE + WM_CTLCOLORSTATIC)
  400. #else
  401. #define OCM_CTLCOLOR        (OCM__BASE + WM_CTLCOLOR)
  402. #endif
  403.  
  404. #define OCM_DRAWITEM        (OCM__BASE + WM_DRAWITEM)
  405. #define OCM_MEASUREITEM     (OCM__BASE + WM_MEASUREITEM)
  406. #define OCM_DELETEITEM      (OCM__BASE + WM_DELETEITEM)
  407. #define OCM_VKEYTOITEM      (OCM__BASE + WM_VKEYTOITEM)
  408. #define OCM_CHARTOITEM      (OCM__BASE + WM_CHARTOITEM)
  409. #define OCM_COMPAREITEM     (OCM__BASE + WM_COMPAREITEM)
  410. #define OCM_HSCROLL         (OCM__BASE + WM_HSCROLL)
  411. #define OCM_VSCROLL         (OCM__BASE + WM_VSCROLL)
  412. #define OCM_PARENTNOTIFY    (OCM__BASE + WM_PARENTNOTIFY)
  413.  
  414. #if (WINVER >= 0x0400)
  415. #define OCM_NOTIFY            (OCM__BASE + WM_NOTIFY)
  416. #endif
  417.  
  418.  
  419. /////////////////////////////////////////////////////////////////////////////
  420. // Self-registration APIs (to be implemented by server DLL)
  421.  
  422. STDAPI DllRegisterServer(void);
  423. STDAPI DllUnregisterServer(void);
  424.  
  425.  
  426. /////////////////////////////////////////////////////////////////////////////
  427. // Property frame APIs
  428.  
  429. WINOLECTLAPI OleCreatePropertyFrame(HWND hwndOwner, UINT x, UINT y,
  430.     LPCOLESTR lpszCaption, ULONG cObjects, LPUNKNOWN FAR* ppUnk, ULONG cPages,
  431.     LPCLSID pPageClsID, LCID lcid, DWORD dwReserved, LPVOID pvReserved);
  432.  
  433. WINOLECTLAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams);
  434.  
  435.  
  436. /////////////////////////////////////////////////////////////////////////////
  437. // Standard type APIs
  438.  
  439. WINOLECTLAPI OleTranslateColor(OLE_COLOR clr, HPALETTE hpal,
  440.     COLORREF* lpcolorref);
  441.  
  442. WINOLECTLAPI OleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid,
  443.     LPVOID FAR* lplpvObj);
  444.  
  445. WINOLECTLAPI OleCreatePictureIndirect(LPPICTDESC lpPictDesc, REFIID riid,
  446.     BOOL fOwn, LPVOID FAR* lplpvObj);
  447.  
  448. WINOLECTLAPI OleLoadPicture(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
  449.     REFIID riid, LPVOID FAR* lplpvObj);
  450.  
  451. WINOLECTLAPI OleLoadPictureFile(VARIANT varFileName,
  452.     LPDISPATCH* lplpdispPicture);
  453.  
  454. WINOLECTLAPI OleSavePictureFile(LPDISPATCH lpdispPicture,
  455.     BSTR bstrFileName);
  456.  
  457. WINOLECTLAPI_(HCURSOR) OleIconToCursor(HINSTANCE hinstExe, HICON hIcon);
  458.  
  459.  
  460. #if !defined(_MAC) && !defined(RC_INVOKED)
  461. #pragma pack()
  462. #endif
  463.  
  464. #endif // !(defined(__MKTYPLIB__) && !defined(__midl))
  465.  
  466.  
  467. /////////////////////////////////////////////////////////////////////////////
  468. //  Standard dispatch ID constants
  469.  
  470. #define DISPID_AUTOSIZE                 (-500)
  471. #define DISPID_BACKCOLOR                (-501)
  472. #define DISPID_BACKSTYLE                (-502)
  473. #define DISPID_BORDERCOLOR              (-503)
  474. #define DISPID_BORDERSTYLE              (-504)
  475. #define DISPID_BORDERWIDTH              (-505)
  476. #define DISPID_DRAWMODE                 (-507)
  477. #define DISPID_DRAWSTYLE                (-508)
  478. #define DISPID_DRAWWIDTH                (-509)
  479. #define DISPID_FILLCOLOR                (-510)
  480. #define DISPID_FILLSTYLE                (-511)
  481. #define DISPID_FONT                     (-512)
  482. #define DISPID_FORECOLOR                (-513)
  483. #define DISPID_ENABLED                  (-514)
  484. #define DISPID_HWND                     (-515)
  485. #define DISPID_TABSTOP                  (-516)
  486. #define DISPID_TEXT                     (-517)
  487. #define DISPID_CAPTION                  (-518)
  488. #define DISPID_BORDERVISIBLE            (-519)
  489. #define DISPID_APPEARANCE               (-520)
  490. #define DISPID_MOUSEPOINTER             (-521)
  491. #define DISPID_MOUSEICON                (-522)
  492. #define DISPID_PICTURE                  (-523)
  493. #define DISPID_VALID                    (-524)
  494. #define DISPID_READYSTATE               (-525)
  495.  
  496. #define DISPID_REFRESH                  (-550)
  497. #define DISPID_DOCLICK                  (-551)
  498. #define DISPID_ABOUTBOX                 (-552)
  499.  
  500. #define DISPID_CLICK                    (-600)
  501. #define DISPID_DBLCLICK                 (-601)
  502. #define DISPID_KEYDOWN                  (-602)
  503. #define DISPID_KEYPRESS                 (-603)
  504. #define DISPID_KEYUP                    (-604)
  505. #define DISPID_MOUSEDOWN                (-605)
  506. #define DISPID_MOUSEMOVE                (-606)
  507. #define DISPID_MOUSEUP                  (-607)
  508. #define DISPID_ERROREVENT               (-608)
  509. #define DISPID_READYSTATECHANGE         (-609)
  510.  
  511. #define DISPID_AMBIENT_BACKCOLOR        (-701)
  512. #define DISPID_AMBIENT_DISPLAYNAME      (-702)
  513. #define DISPID_AMBIENT_FONT             (-703)
  514. #define DISPID_AMBIENT_FORECOLOR        (-704)
  515. #define DISPID_AMBIENT_LOCALEID         (-705)
  516. #define DISPID_AMBIENT_MESSAGEREFLECT   (-706)
  517. #define DISPID_AMBIENT_SCALEUNITS       (-707)
  518. #define DISPID_AMBIENT_TEXTALIGN        (-708)
  519. #define DISPID_AMBIENT_USERMODE         (-709)
  520. #define DISPID_AMBIENT_UIDEAD           (-710)
  521. #define DISPID_AMBIENT_SHOWGRABHANDLES  (-711)
  522. #define DISPID_AMBIENT_SHOWHATCHING     (-712)
  523. #define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
  524. #define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
  525. #define DISPID_AMBIENT_AUTOCLIP         (-715)
  526. #define DISPID_AMBIENT_APPEARANCE       (-716)
  527. #define DISPID_AMBIENT_PALETTE          (-726)
  528. #define DISPID_AMBIENT_TRANSFERPRIORITY (-728)
  529.  
  530. #define DISPID_Name                     (-800)
  531. #define DISPID_Delete                   (-801)
  532. #define DISPID_Object                   (-802)
  533. #define DISPID_Parent                   (-803)
  534.  
  535. /////////////////////////////////////////////////////////////////////////////
  536. // Dispatch ID constants for font and picture types
  537.  
  538. #define DISPID_FONT_NAME    0
  539. #define DISPID_FONT_SIZE    2
  540. #define DISPID_FONT_BOLD    3
  541. #define DISPID_FONT_ITALIC  4
  542. #define DISPID_FONT_UNDER   5
  543. #define DISPID_FONT_STRIKE  6
  544. #define DISPID_FONT_WEIGHT  7
  545. #define DISPID_FONT_CHARSET 8
  546.  
  547. #define DISPID_PICT_HANDLE  0
  548. #define DISPID_PICT_HPAL    2
  549. #define DISPID_PICT_TYPE    3
  550. #define DISPID_PICT_WIDTH   4
  551. #define DISPID_PICT_HEIGHT  5
  552. #define DISPID_PICT_RENDER  6
  553.  
  554.  
  555. #if defined(__MKTYPLIB__) || defined(__midl)
  556.  
  557. /////////////////////////////////////////////////////////////////////////////
  558. // Names of modules containing type libraries for standard types
  559.  
  560. #define STDOLE_TLB "stdole32.tlb"
  561. #define STDTYPE_TLB "olepro32.dll"
  562.  
  563. #endif // defined(__MKTYPLIB__) || defined(__midl)
  564.  
  565. #endif // _OLECTL_H_
  566.