home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / olectl.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  22KB  |  613 lines

  1. /////////////////////////////////////////////////////////////////////////////
  2. //
  3. // olectl.h     OLE Control interfaces
  4. //
  5. //              OLE Version 2.0
  6. //
  7. //              Copyright 1992 - 1998 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. // IConnectionPoint status codes
  278.  
  279. #define CONNECT_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  280. #define CONNECT_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  281. #define CONNECT_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  282. #define CONNECT_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  283.  
  284. #define CONNECT_E_NOCONNECTION      (CONNECT_E_FIRST+0)
  285. // there is no connection for this connection id
  286.  
  287. #define CONNECT_E_ADVISELIMIT       (CONNECT_E_FIRST+1)
  288. // this implementation's limit for advisory connections has been reached
  289.  
  290. #define CONNECT_E_CANNOTCONNECT     (CONNECT_E_FIRST+2)
  291. // connection attempt failed
  292.  
  293. #define CONNECT_E_OVERRIDDEN        (CONNECT_E_FIRST+3)
  294. // must use a derived interface to connect
  295.  
  296.  
  297. /////////////////////////////////////////////////////////////////////////////
  298. // DllRegisterServer/DllUnregisterServer status codes
  299.  
  300. #define SELFREG_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  301. #define SELFREG_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  302. #define SELFREG_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  303. #define SELFREG_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  304.  
  305. #define SELFREG_E_TYPELIB           (SELFREG_E_FIRST+0)
  306. // failed to register/unregister type library
  307.  
  308. #define SELFREG_E_CLASS             (SELFREG_E_FIRST+1)
  309. // failed to register/unregister class
  310.  
  311.  
  312. /////////////////////////////////////////////////////////////////////////////
  313. // IPerPropertyBrowsing status codes
  314.  
  315. #define PERPROP_E_FIRST    MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x0200)
  316. #define PERPROP_E_LAST     MAKE_SCODE(SEVERITY_ERROR,   FACILITY_ITF, 0x020F)
  317. #define PERPROP_S_FIRST    MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x0200)
  318. #define PERPROP_S_LAST     MAKE_SCODE(SEVERITY_SUCCESS, FACILITY_ITF, 0x020F)
  319.  
  320. #define PERPROP_E_NOPAGEAVAILABLE   (PERPROP_E_FIRST+0)
  321. // no page available for requested property
  322.  
  323.  
  324. /////////////////////////////////////////////////////////////////////////////
  325. // OLEMISC_ constants (they are also defined in the latest oleidl.h)
  326.  
  327. #define OLEMISC_INVISIBLEATRUNTIME  0x00000400L
  328. #define OLEMISC_ALWAYSRUN           0x00000800L
  329. #define OLEMISC_ACTSLIKEBUTTON      0x00001000L
  330. #define OLEMISC_ACTSLIKELABEL       0x00002000L
  331. #define OLEMISC_NOUIACTIVATE        0x00004000L
  332. #define OLEMISC_ALIGNABLE           0x00008000L
  333. #define OLEMISC_SIMPLEFRAME         0x00010000L
  334. #define OLEMISC_SETCLIENTSITEFIRST  0x00020000L
  335. #define OLEMISC_IMEMODE             0x00040000L
  336.  
  337.  
  338. /////////////////////////////////////////////////////////////////////////////
  339. // OLEIVERB_ constants
  340.  
  341. #ifndef OLEIVERB_PROPERTIES
  342. #define OLEIVERB_PROPERTIES (-7L)
  343. #endif
  344.  
  345.  
  346. /////////////////////////////////////////////////////////////////////////////
  347. // Variant type (VT_) tags for property sets
  348.  
  349. #define VT_STREAMED_PROPSET 73  //       [P]  Stream contains a property set
  350. #define VT_STORED_PROPSET   74  //       [P]  Storage contains a property set
  351. #define VT_BLOB_PROPSET     75  //       [P]  Blob contains a property set
  352. #define VT_VERBOSE_ENUM     76  //       [P]  Enum value with text string
  353.  
  354.  
  355. /////////////////////////////////////////////////////////////////////////////
  356. // Variant type (VT_) tags that are just aliases for others
  357.  
  358. #define VT_COLOR            VT_I4
  359. #define VT_XPOS_PIXELS      VT_I4
  360. #define VT_YPOS_PIXELS      VT_I4
  361. #define VT_XSIZE_PIXELS     VT_I4
  362. #define VT_YSIZE_PIXELS     VT_I4
  363. #define VT_XPOS_HIMETRIC    VT_I4
  364. #define VT_YPOS_HIMETRIC    VT_I4
  365. #define VT_XSIZE_HIMETRIC   VT_I4
  366. #define VT_YSIZE_HIMETRIC   VT_I4
  367. #define VT_TRISTATE         VT_I2
  368. #define VT_OPTEXCLUSIVE     VT_BOOL
  369. #define VT_FONT             VT_DISPATCH
  370. #define VT_PICTURE          VT_DISPATCH
  371.  
  372. #ifdef _WIN32
  373. #define VT_HANDLE           VT_I4
  374. #else
  375. #define VT_HANDLE           VT_I2
  376. #endif
  377.  
  378.  
  379. /////////////////////////////////////////////////////////////////////////////
  380. // Reflected Window Message IDs
  381.  
  382. #define OCM__BASE           (WM_USER+0x1c00)
  383. #define OCM_COMMAND         (OCM__BASE + WM_COMMAND)
  384.  
  385. #ifdef _WIN32
  386. #define OCM_CTLCOLORBTN     (OCM__BASE + WM_CTLCOLORBTN)
  387. #define OCM_CTLCOLOREDIT    (OCM__BASE + WM_CTLCOLOREDIT)
  388. #define OCM_CTLCOLORDLG     (OCM__BASE + WM_CTLCOLORDLG)
  389. #define OCM_CTLCOLORLISTBOX (OCM__BASE + WM_CTLCOLORLISTBOX)
  390. #define OCM_CTLCOLORMSGBOX  (OCM__BASE + WM_CTLCOLORMSGBOX)
  391. #define OCM_CTLCOLORSCROLLBAR   (OCM__BASE + WM_CTLCOLORSCROLLBAR)
  392. #define OCM_CTLCOLORSTATIC  (OCM__BASE + WM_CTLCOLORSTATIC)
  393. #else
  394. #define OCM_CTLCOLOR        (OCM__BASE + WM_CTLCOLOR)
  395. #endif
  396.  
  397. #define OCM_DRAWITEM        (OCM__BASE + WM_DRAWITEM)
  398. #define OCM_MEASUREITEM     (OCM__BASE + WM_MEASUREITEM)
  399. #define OCM_DELETEITEM      (OCM__BASE + WM_DELETEITEM)
  400. #define OCM_VKEYTOITEM      (OCM__BASE + WM_VKEYTOITEM)
  401. #define OCM_CHARTOITEM      (OCM__BASE + WM_CHARTOITEM)
  402. #define OCM_COMPAREITEM     (OCM__BASE + WM_COMPAREITEM)
  403. #define OCM_HSCROLL         (OCM__BASE + WM_HSCROLL)
  404. #define OCM_VSCROLL         (OCM__BASE + WM_VSCROLL)
  405. #define OCM_PARENTNOTIFY    (OCM__BASE + WM_PARENTNOTIFY)
  406.  
  407. #if (WINVER >= 0x0400)
  408. #define OCM_NOTIFY            (OCM__BASE + WM_NOTIFY)
  409. #endif
  410.  
  411.  
  412. /////////////////////////////////////////////////////////////////////////////
  413. // Self-registration APIs (to be implemented by server DLL)
  414.  
  415. STDAPI DllRegisterServer(void);
  416. STDAPI DllUnregisterServer(void);
  417.  
  418.  
  419. /////////////////////////////////////////////////////////////////////////////
  420. // Property frame APIs
  421.  
  422. WINOLECTLAPI OleCreatePropertyFrame(HWND hwndOwner, UINT x, UINT y,
  423.     LPCOLESTR lpszCaption, ULONG cObjects, LPUNKNOWN FAR* ppUnk, ULONG cPages,
  424.     LPCLSID pPageClsID, LCID lcid, DWORD dwReserved, LPVOID pvReserved);
  425.  
  426. WINOLECTLAPI OleCreatePropertyFrameIndirect(LPOCPFIPARAMS lpParams);
  427.  
  428.  
  429. /////////////////////////////////////////////////////////////////////////////
  430. // Standard type APIs
  431.  
  432. WINOLECTLAPI OleTranslateColor(OLE_COLOR clr, HPALETTE hpal,
  433.     COLORREF* lpcolorref);
  434.  
  435. WINOLECTLAPI OleCreateFontIndirect(LPFONTDESC lpFontDesc, REFIID riid,
  436.     LPVOID FAR* lplpvObj);
  437.  
  438. WINOLECTLAPI OleCreatePictureIndirect(LPPICTDESC lpPictDesc, REFIID riid,
  439.     BOOL fOwn, LPVOID FAR* lplpvObj);
  440.  
  441. WINOLECTLAPI OleLoadPicture(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
  442.     REFIID riid, LPVOID FAR* lplpvObj);
  443.     
  444. WINOLECTLAPI OleLoadPictureEx(LPSTREAM lpstream, LONG lSize, BOOL fRunmode,
  445.     REFIID riid, DWORD xSizeDesired, DWORD ySizeDesired, DWORD dwFlags,
  446.     LPVOID FAR* lplpvObj);
  447.  
  448. WINOLECTLAPI OleLoadPicturePath(  LPOLESTR  szURLorPath,
  449.                   LPUNKNOWN punkCaller,
  450.                   DWORD     dwReserved,
  451.                   OLE_COLOR clrReserved,
  452.                   REFIID    riid,
  453.                   LPVOID *  ppvRet );
  454.  
  455. WINOLECTLAPI OleLoadPictureFile(VARIANT varFileName,
  456.     LPDISPATCH* lplpdispPicture);
  457.     
  458. WINOLECTLAPI OleLoadPictureFileEx(VARIANT varFileName,
  459.     DWORD xSizeDesired, DWORD ySizeDesired, DWORD dwFlags, LPDISPATCH* lplpdispPicture);
  460.  
  461. WINOLECTLAPI OleSavePictureFile(LPDISPATCH lpdispPicture,
  462.     BSTR bstrFileName);
  463.  
  464. WINOLECTLAPI_(HCURSOR) OleIconToCursor(HINSTANCE hinstExe, HICON hIcon);
  465.  
  466. #define LP_DEFAULT      0x00
  467. #define LP_MONOCHROME    0x01
  468. #define LP_VGACOLOR     0x02
  469. #define LP_COLOR        0x04
  470.  
  471. #if !defined(_MAC) && !defined(RC_INVOKED)
  472. #pragma pack()
  473. #endif
  474.  
  475. #endif // !(defined(__MKTYPLIB__) && !defined(__midl))
  476.  
  477.  
  478. /////////////////////////////////////////////////////////////////////////////
  479. //  Standard dispatch ID constants
  480.  
  481. #define DISPID_AUTOSIZE                 (-500)
  482. #define DISPID_BACKCOLOR                (-501)
  483. #define DISPID_BACKSTYLE                (-502)
  484. #define DISPID_BORDERCOLOR              (-503)
  485. #define DISPID_BORDERSTYLE              (-504)
  486. #define DISPID_BORDERWIDTH              (-505)
  487. #define DISPID_DRAWMODE                 (-507)
  488. #define DISPID_DRAWSTYLE                (-508)
  489. #define DISPID_DRAWWIDTH                (-509)
  490. #define DISPID_FILLCOLOR                (-510)
  491. #define DISPID_FILLSTYLE                (-511)
  492. #define DISPID_FONT                     (-512)
  493. #define DISPID_FORECOLOR                (-513)
  494. #define DISPID_ENABLED                  (-514)
  495. #define DISPID_HWND                     (-515)
  496. #define DISPID_TABSTOP                  (-516)
  497. #define DISPID_TEXT                     (-517)
  498. #define DISPID_CAPTION                  (-518)
  499. #define DISPID_BORDERVISIBLE            (-519)
  500. #define DISPID_APPEARANCE               (-520)
  501. #define DISPID_MOUSEPOINTER             (-521)
  502. #define DISPID_MOUSEICON                (-522)
  503. #define DISPID_PICTURE                  (-523)
  504. #define DISPID_VALID                    (-524)
  505. #define DISPID_READYSTATE               (-525)
  506. #define DISPID_LISTINDEX                (-526)
  507. #define DISPID_SELECTED                 (-527)
  508. #define DISPID_LIST                     (-528)
  509. #define DISPID_COLUMN                   (-529)
  510. #define DISPID_LISTCOUNT                (-531)
  511. #define DISPID_MULTISELECT              (-532)
  512. #define DISPID_MAXLENGTH                (-533)
  513. #define DISPID_PASSWORDCHAR             (-534)
  514. #define DISPID_SCROLLBARS               (-535)
  515. #define DISPID_WORDWRAP                 (-536)
  516. #define DISPID_MULTILINE                (-537)
  517. #define DISPID_NUMBEROFROWS             (-538)
  518. #define DISPID_NUMBEROFCOLUMNS          (-539)
  519. #define DISPID_DISPLAYSTYLE             (-540)
  520. #define DISPID_GROUPNAME                (-541)
  521. #define DISPID_IMEMODE                  (-542)
  522. #define DISPID_ACCELERATOR              (-543)
  523. #define DISPID_ENTERKEYBEHAVIOR         (-544)
  524. #define DISPID_TABKEYBEHAVIOR           (-545)
  525. #define DISPID_SELTEXT                  (-546)
  526. #define DISPID_SELSTART                 (-547)
  527. #define DISPID_SELLENGTH                (-548)
  528.  
  529. #define DISPID_REFRESH                  (-550)
  530. #define DISPID_DOCLICK                  (-551)
  531. #define DISPID_ABOUTBOX                 (-552)
  532. #define DISPID_ADDITEM                  (-553)
  533. #define DISPID_CLEAR                    (-554)
  534. #define DISPID_REMOVEITEM               (-555)
  535.  
  536. #define DISPID_CLICK                    (-600)
  537. #define DISPID_DBLCLICK                 (-601)
  538. #define DISPID_KEYDOWN                  (-602)
  539. #define DISPID_KEYPRESS                 (-603)
  540. #define DISPID_KEYUP                    (-604)
  541. #define DISPID_MOUSEDOWN                (-605)
  542. #define DISPID_MOUSEMOVE                (-606)
  543. #define DISPID_MOUSEUP                  (-607)
  544. #define DISPID_ERROREVENT               (-608)
  545. #define DISPID_READYSTATECHANGE         (-609)
  546. #define DISPID_CLICK_VALUE              (-610)
  547. #define DISPID_RIGHTTOLEFT              (-611)
  548. #define DISPID_TOPTOBOTTOM              (-612)
  549. #define DISPID_THIS                     (-613)
  550.  
  551. #define DISPID_AMBIENT_BACKCOLOR        (-701)
  552. #define DISPID_AMBIENT_DISPLAYNAME      (-702)
  553. #define DISPID_AMBIENT_FONT             (-703)
  554. #define DISPID_AMBIENT_FORECOLOR        (-704)
  555. #define DISPID_AMBIENT_LOCALEID         (-705)
  556. #define DISPID_AMBIENT_MESSAGEREFLECT   (-706)
  557. #define DISPID_AMBIENT_SCALEUNITS       (-707)
  558. #define DISPID_AMBIENT_TEXTALIGN        (-708)
  559. #define DISPID_AMBIENT_USERMODE         (-709)
  560. #define DISPID_AMBIENT_UIDEAD           (-710)
  561. #define DISPID_AMBIENT_SHOWGRABHANDLES  (-711)
  562. #define DISPID_AMBIENT_SHOWHATCHING     (-712)
  563. #define DISPID_AMBIENT_DISPLAYASDEFAULT (-713)
  564. #define DISPID_AMBIENT_SUPPORTSMNEMONICS (-714)
  565. #define DISPID_AMBIENT_AUTOCLIP         (-715)
  566. #define DISPID_AMBIENT_APPEARANCE       (-716)
  567.  
  568. #define DISPID_AMBIENT_CODEPAGE         (-725)
  569. #define DISPID_AMBIENT_PALETTE          (-726)
  570. #define DISPID_AMBIENT_CHARSET          (-727)
  571. #define DISPID_AMBIENT_TRANSFERPRIORITY (-728)
  572.  
  573. #define DISPID_AMBIENT_RIGHTTOLEFT      (-732)
  574. #define DISPID_AMBIENT_TOPTOBOTTOM      (-733)
  575.  
  576. #define DISPID_Name                     (-800)
  577. #define DISPID_Delete                   (-801)
  578. #define DISPID_Object                   (-802)
  579. #define DISPID_Parent                   (-803)
  580.  
  581. /////////////////////////////////////////////////////////////////////////////
  582. // Dispatch ID constants for font and picture types
  583.  
  584. #define DISPID_FONT_NAME    0
  585. #define DISPID_FONT_SIZE    2
  586. #define DISPID_FONT_BOLD    3
  587. #define DISPID_FONT_ITALIC  4
  588. #define DISPID_FONT_UNDER   5
  589. #define DISPID_FONT_STRIKE  6
  590. #define DISPID_FONT_WEIGHT  7
  591. #define DISPID_FONT_CHARSET 8
  592. #define DISPID_FONT_CHANGED 9
  593.  
  594. #define DISPID_PICT_HANDLE  0
  595. #define DISPID_PICT_HPAL    2
  596. #define DISPID_PICT_TYPE    3
  597. #define DISPID_PICT_WIDTH   4
  598. #define DISPID_PICT_HEIGHT  5
  599. #define DISPID_PICT_RENDER  6
  600.  
  601.  
  602. #if defined(__MKTYPLIB__) || defined(__midl)
  603.  
  604. /////////////////////////////////////////////////////////////////////////////
  605. // Names of modules containing type libraries for standard types
  606.  
  607. #define STDOLE_TLB "stdole2.tlb"
  608. #define STDTYPE_TLB "olepro32.dll"
  609.  
  610. #endif // defined(__MKTYPLIB__) || defined(__midl)
  611.  
  612. #endif // _OLECTL_H_
  613.