home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / olectl.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  22KB  |  619 lines

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