home *** CD-ROM | disk | FTP | other *** search
/ PC Format Collection 48 / SENT14D.ISO / tech / delphi / disk14 / doc.pak / BOLEDEFS.INT next >
Encoding:
Text File  |  1995-08-24  |  9.2 KB  |  334 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1995 Borland International        }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit BoleDefs;
  11.  
  12. interface
  13.  
  14. uses WinTypes, Ole2, ToUnk, BCom;   
  15.  
  16. type  PCharOle = PChar;     
  17.  
  18. const                      
  19.   BoleDll  = 'Bole16D.DLL';    {16d.dll}
  20.   BoleName = 'Bole16D';        {16d.dll}
  21.   BoleBind = 'CREATECLASSMGR';  
  22.  
  23. type 
  24.   TRectl = record
  25.       Left, Top, Right, Bottom: LongInt;
  26.   end;
  27.   PSize = ^TSize;
  28.   TSize = record
  29.     cx, cy: Integer;
  30.   end;
  31.  
  32. {------------------------ More BOLEDEFS.H----------------------}
  33.  
  34. { OLE2 opaque pass throughs }
  35. type
  36.   IMoniker = class (IUnknown)
  37.   public
  38.   end;
  39.  
  40.   IDataObject = class (IUnknown)
  41.   public
  42.   end;
  43.  
  44.   IMalloc = class (IUnknown)
  45.   public
  46.   end;
  47.  
  48. type  Coord = LongInt;     
  49. const HIMETRIC_PER_INCH: LongInt = 2540;   
  50.  
  51.  
  52. const
  53.   IID_IBPart : GUID =  (
  54.       Data1 : $2A104;
  55.       Data2 : $0;  Data3 : $0;
  56.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  57.   IID_IBSite : GUID =  (      
  58.       Data1 : $2A105;  
  59.       Data2 : $0;  Data3 : $0;
  60.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  61.   IID_IBContainer : GUID =  (
  62.       Data1 : $2A106;  
  63.       Data2 : $0;  Data3 : $0;
  64.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  65.   IID_IBDocument : GUID =  (
  66.       Data1 : $2A107;  
  67.       Data2 : $0;  Data3 : $0;
  68.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  69.   IID_IBService : GUID =  (    
  70.       Data1 : $2A108;  
  71.       Data2 : $0;  Data3 : $0;
  72.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  73.   IID_IBApplication : GUID =  (
  74.       Data1 : $2A109;  
  75.       Data2 : $0;  Data3 : $0;
  76.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  77.   IID_IBClassMgr : GUID =  (
  78.       Data1 : $2A10A;  
  79.       Data2 : $0;  Data3 : $0;
  80.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  81.   IID_IBLinkInfo : GUID =  (    
  82.       Data1 : $2A10B;  
  83.       Data2 : $0;  Data3 : $0;
  84.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  85.   IID_IBLinkable : GUID =  (    
  86.       Data1 : $2A10C;  
  87.       Data2 : $0;  Data3 : $0;
  88.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  89.   IID_IBRootLinkable : GUID =  (
  90.       Data1 : $2A10D;  
  91.       Data2 : $0;  Data3 : $0;
  92.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  93.   IID_IBContains : GUID =  (
  94.       Data1 : $2A10E;  
  95.       Data2 : $0;  Data3 : $0;
  96.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  97.   IID_BOleDocument : GUID =  (
  98.       Data1 : $2A10F;  
  99.       Data2 : $0;  Data3 : $0;
  100.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  101.   IID_BOlePart : GUID = (
  102.       Data1 : $2A110;
  103.       Data2 : $0;  Data3 : $0;
  104.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  105.   IID_IBDataConsumer : GUID = (
  106.       Data1 : $2A111;
  107.       Data2 : $0;  Data3 : $0;
  108.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  109.   IID_IBDataProvider : GUID = (
  110.       Data1 : $2A112;
  111.       Data2 : $0;  Data3 : $0;
  112.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  113.   IID_IBWindow : GUID = (
  114.       Data1 : $2A113;
  115.       Data2 : $0;  Data3 : $0;
  116.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  117.   IID_IBDataNegotiator : GUID = (
  118.       Data1 : $2A114;
  119.       Data2 : $0;  Data3 : $0;
  120.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  121.   IID_IBDropDest : GUID = (
  122.       Data1 : $2A115;
  123.       Data2 : $0;  Data3 : $0;
  124.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  125.   IID_BOleShadowData : GUID = (
  126.       Data1 : $2A116;
  127.       Data2 : $0;  Data3 : $0;
  128.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  129.   IID_IBClass : GUID = (
  130.       Data1 : $2A117;
  131.       Data2 : $0;  Data3 : $0;
  132.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  133.   IID_IBOverrideBrowseLinks : GUID = (
  134.       Data1 : $2A118;
  135.       Data2 : $0;  Data3 : $0;
  136.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  137.   IID_BOleSite : GUID =  (
  138.       Data1 : $2A119;
  139.       Data2 : $0;  Data3 : $0;
  140.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  141.   IID_IBSite2 : GUID = (
  142.       Data1 : $2A11A;
  143.       Data2 : $0;  Data3 : $0;
  144.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  145.   IID_IBOverrideHelpButton : GUID = (
  146.       Data1 : $2A11B;
  147.       Data2 : $0;  Data3 : $0;
  148.       Data4 : ($C0,$0,$0,$0,$0,$0,$0,$46));
  149.   
  150.  
  151.  
  152.  
  153. { Bolero helper object ids }
  154.  
  155. type
  156.   BCID = LongInt;                                                         
  157.   
  158. const
  159.   cidBOleService:    BCID = 1;    {                               }
  160.   cidBOleDocument:   BCID = 2;    { helper for containers         }
  161.   cidBOlePart:       BCID = 3;    { helper for sites              }
  162.   cidBOleSite:       BCID = 4;    { helper for parts              }
  163.   cidBOleInProcSite: BCID = 5;    { helper for parts              }
  164.   cidBOleContainer:  BCID = 6;    { helper for part documents     }
  165.   cidBOleData:       BCID = 7;    { helper for data transfer      }
  166.   cidBOleFactory:    BCID = 8;    { helper for class factory      }
  167.   cidBOleShadowData: BCID = 9;    { helper for non-delayed render }  
  168.   cidBOleInProcHandler: BCID = 10; { helper for dll handler parts}
  169.  
  170.  
  171. type BoleMedium = Integer;
  172. const
  173.   BOLE_MED_NULL    = 0;  
  174.   BOLE_MED_HGLOBAL = 1;  { used for most non-ole2 formats }
  175.   BOLE_MED_FILE    = 2;
  176.   BOLE_MED_STREAM  = 4;  { used for ole2 linked objects }
  177.   BOLE_MED_STORAGE = 8;  { used for ole2 embedded objects }
  178.   BOLE_MED_GDI     = 16; { used for bitmaps and other gdi formats }
  179.   BOLE_MED_MFPICT  = 32; { used for metafile format }
  180.   BOLE_MED_STATIC  = 1024;
  181.  
  182. type BOleHelp = Integer;
  183. const
  184.   BOLE_HELP_EXIT  = 0;
  185.   BOLE_HELP_ENTER = 1;
  186.   BOLE_HELP_GET   = 2;
  187.  
  188. type BOleMouseAction = Integer;
  189. const
  190.     BOLE_MOUSEENTER = 1;
  191.     BOLE_MOUSECONTAINED = 2;
  192.     BOLE_MOUSEEXIT = 3;
  193.  
  194. type BOleDropAction = Integer;
  195. const
  196.   BOLE_DROP_NONE = 0;
  197.   BOLE_DROP_COPY = 1;
  198.   BOLE_DROP_MOVE = 2;
  199.   BOLE_DROP_LINK = 4;
  200.  
  201. type BOleAspect = Integer;
  202. const
  203.     BOLE_CONTENT          = 1;
  204.     BOLE_THUMBNAIL        = 2;
  205.     BOLE_ICON             = 4;
  206.     BOLE_DOCPRINT         = 8;
  207.     BOLE_DEFAULT          = 16;
  208.     BOLE_ASPECT_MAINTAIN  = 32;
  209.     BOLE_CLIP             = 64;
  210.  
  211. type BOleDraw = Integer;
  212. const
  213.     BOLE_DRAW_NONE        = 0;
  214.     BOLE_DRAW_SHADINGONLY = 1;
  215.     BOLE_DRAW_SHOWOBJECTS = 2;
  216.  
  217. type BOleScroll = Integer;
  218. const
  219.   BOLE_SCROLL_UP      = 1;
  220.   BOLE_SCROLL_DOWN    = 2;
  221.   BOLE_SCROLL_LEFT    = 4;
  222.   BOLE_SCROLL_RIGHT   = 8;
  223.  
  224. type BOlePartName = Integer;
  225. const
  226.   BOLE_NAME_LONG  = 1; 
  227.   BOLE_NAME_SHORT = 2;
  228.   BOLE_NAME_APP   = 3;
  229.  
  230. type BOleDialogHelp = Integer;
  231. const
  232.   BOLE_HELP_BROWSE            = 0;
  233.   BOLE_HELP_BROWSECLIPBOARD   = 1;
  234.   BOLE_HELP_CONVERT           = 2;
  235.   BOLE_HELP_BROWSELINKS       = 3;
  236.   BOLE_HELP_CHANGEICON        = 4;
  237.   BOLE_HELP_FILEOPEN          = 5;
  238.   BOLE_HELP_SOURCESET         = 6;
  239.   BOLE_HELP_ICONFILEOPEN      = 7;
  240.  
  241. type BOleMenuEnable = Integer;
  242. const 
  243.   BOLE_ENABLE_PASTE           = 1;
  244.   BOLE_ENABLE_PASTELINK       = 2;
  245.   BOLE_ENABLE_BROWSECLIPBOARD = 4;
  246.   BOLE_ENABLE_BROWSELINKS     = 8;
  247.  
  248. type BOleInvalidate = Integer;
  249. const
  250.   BOLE_INVAL_DATA       = 1;
  251.   BOLE_INVAL_VIEW       = 2;
  252.   BOLE_INVAL_PERSISTENT = 4;
  253.  
  254. type BOleVerb = record
  255.   typeName: PCharOle;
  256.   verbName: PCharOle;
  257.   verbIndex: Word;
  258.   fCanDirty: Bool;
  259. end;
  260.  
  261. type BOleMenuWidths = record
  262.     width: array [0..5] of LongInt;
  263. end;
  264.  
  265. type BOleFormat = Record
  266.   fmtId: Word;                           { clipboard format id }
  267.   fmtName: array [0..31] of char;        { for paste special listbox - %s if ole fmt }
  268.   fmtResultName: array [0..31] of char;  { for paste special results box - %s if ole fmt}
  269.   fmtMedium: BOleMedium;                 { based upon clip format id }
  270.   fmtIsLinkable: Bool;
  271. end;
  272.  
  273. type BOleConvertAction = Integer;
  274. const
  275.   BOLE_CONVERT_TO_CLSID  = 1;
  276.   BOLE_CONVERT_TO_FORMAT = 2;
  277.   BOLE_ACTIVATE_AS_CLSID = 4;
  278.   BOLE_ASPECT_TO_ICON    = 8;
  279.   BOLE_ASPECT_TO_CONTENT = 16;
  280.  
  281. type InitHow = Integer;
  282. const
  283.   BOLE_LINK             = 0;
  284.   BOLE_EMBED            = 1;
  285.   BOLE_EMBED_ASMETAFILE = 2;
  286.   BOLE_EMBED_ASBITMAP   = 3;
  287.  
  288. type InitWhere = Integer;
  289. const
  290.   BOLE_FILE       = 0;
  291.   BOLE_STORAGE    = 1;
  292.   BOLE_DATAOBJECT = 2;
  293.   BOLE_NEW        = 3;
  294.   BOLE_HANDLE     = 4;
  295.  
  296. type BoleInitInfo = Record
  297.   How: InitHow;
  298.   Where: InitWhere;
  299.   pContainer: IUnknown;
  300.   hIcon: HICON;
  301.   Storage: IStorage;
  302.   case Integer of
  303.     BOLE_FILE: (Path: PCharOle);
  304.     BOLE_DATAOBJECT: (Data: IDataObject);
  305.     BOLE_NEW: (cid: BCID);
  306.     BOLE_HANDLE: (DataHandle: THandle; DataFormat: Word);
  307.  end;
  308.  
  309. type BOleConvertInfo = Record
  310.   action : BOleConvertAction;
  311.   clsid  : CLSID; 
  312.   hIcon  : THandle; {really an HGLOBAL containing a metafile}
  313. end;
  314.  
  315. function ReleaseDataObject (InitInfo : BoleInitInfo) : LongInt;  
  316.    { ReleaseDataObj needed in paste cases to free IDataObject from InitInfo }
  317.    { Not necessary in drop cases }
  318.    
  319. type BOleLinkUpdate = Integer;
  320. const
  321.   BOLE_UPDATE_AUTO   = 1;
  322.   BOLE_UPDATE_MANUAL = 3;
  323.  
  324. type BOleScaleFactor =  Record
  325.     xN: LongInt;       {numerator in x direction}
  326.    xD: LongInt;       {denominator in x direction}
  327.    yN: LongInt;       {numerator in y direction}
  328.    yD: LongInt;       {denominator in y direction}
  329. end;
  330.  
  331. function CreateClassMgr (var pCM: IUnknown; pOut: IUnknown; Mem: IMalloc): HRESULT;
  332.  
  333. implementation
  334.