home *** CD-ROM | disk | FTP | other *** search
/ Chip 2001 September / Chip_2001-09_cd1.bin / zkuste / delphi / kolekce / d12345 / CHEMPLOT.ZIP / TPlot / ActiveX / PlotXControl_TLB.pas < prev    next >
Pascal/Delphi Source File  |  2001-05-18  |  30KB  |  610 lines

  1. unit PlotXControl_TLB;
  2.  
  3. // ************************************************************************ //
  4. // WARNING                                                                    
  5. // -------                                                                    
  6. // The types declared in this file were generated from data read from a       
  7. // Type Library. If this type library is explicitly or indirectly (via        
  8. // another type library referring to this type library) re-imported, or the   
  9. // 'Refresh' command of the Type Library Editor activated while editing the   
  10. // Type Library, the contents of this file will be regenerated and all        
  11. // manual modifications will be lost.                                         
  12. // ************************************************************************ //
  13.  
  14. // PASTLWTR : $Revision:   1.88  $
  15. // File generated on 5/18/01 10:19:39 AM from Type Library described below.
  16.  
  17. // *************************************************************************//
  18. // NOTE:                                                                      
  19. // Items guarded by $IFDEF_LIVE_SERVER_AT_DESIGN_TIME are used by properties  
  20. // which return objects that may need to be explicitly created via a function 
  21. // call prior to any access via the property. These items have been disabled  
  22. // in order to prevent accidental use from within the object inspector. You   
  23. // may enable them by defining LIVE_SERVER_AT_DESIGN_TIME or by selectively   
  24. // removing them from the $IFDEF blocks. However, such items must still be    
  25. // programmatically created via a method of the appropriate CoClass before    
  26. // they can be used.                                                          
  27. // ************************************************************************ //
  28. // Type Lib: D:\delphi\Components\TPlot\ActiveX\PlotXControl.tlb (1)
  29. // IID\LCID: {618FBF90-4B23-11D5-AC76-006008F62500}\0
  30. // Helpfile: 
  31. // DepndLst: 
  32. //   (1) v2.0 stdole, (C:\WINNT\System32\stdole2.tlb)
  33. //   (2) v4.0 StdVCL, (C:\WINNT\System32\STDVCL40.DLL)
  34. // ************************************************************************ //
  35. {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers. 
  36. interface
  37.  
  38. uses Windows, ActiveX, Classes, Graphics, OleServer, OleCtrls, StdVCL;
  39.  
  40. // *********************************************************************//
  41. // GUIDS declared in the TypeLibrary. Following prefixes are used:        
  42. //   Type Libraries     : LIBID_xxxx                                      
  43. //   CoClasses          : CLASS_xxxx                                      
  44. //   DISPInterfaces     : DIID_xxxx                                       
  45. //   Non-DISP interfaces: IID_xxxx                                        
  46. // *********************************************************************//
  47. const
  48.   // TypeLibrary Major and minor versions
  49.   PlotXControlMajorVersion = 1;
  50.   PlotXControlMinorVersion = 0;
  51.  
  52.   LIBID_PlotXControl: TGUID = '{618FBF90-4B23-11D5-AC76-006008F62500}';
  53.  
  54.   IID_IPlotX: TGUID = '{618FBF91-4B23-11D5-AC76-006008F62500}';
  55.   DIID_IPlotXEvents: TGUID = '{618FBF93-4B23-11D5-AC76-006008F62500}';
  56.   CLASS_PlotX: TGUID = '{618FBF95-4B23-11D5-AC76-006008F62500}';
  57.  
  58. // *********************************************************************//
  59. // Declaration of Enumerations defined in Type Library                    
  60. // *********************************************************************//
  61. // Constants for enum TxScreenJob
  62. type
  63.   TxScreenJob = TOleEnum;
  64. const
  65.   sjNone = $00000000;
  66.   sjDrag = $00000001;
  67.   sjHide = $00000002;
  68.   sjZoomIn = $00000003;
  69.   sjEditAxis = $00000004;
  70.   sjTouchNotePointer = $00000005;
  71.   sjMoveNotePointer = $00000006;
  72.   sjEditFont = $00000007;
  73.   sjEditPoint = $00000008;
  74.   sjEditSeries = $00000009;
  75.   sjFlashEdit = $0000000A;
  76.   sjCopySeries = $0000000B;
  77.   sjDisplace = $0000000C;
  78.   sjCloneSeries = $0000000D;
  79.   sjDeleteSeries = $0000000E;
  80.   sjPosition = $0000000F;
  81.   sjNearestPoint = $00000010;
  82.   sjAverage = $00000011;
  83.   sjContractSeries = $00000012;
  84.   sjContractAllSeries = $00000013;
  85.   sjSplineSeries = $00000014;
  86.   sjHighs = $00000015;
  87.   sjLows = $00000016;
  88.   sjMovingAverage = $00000017;
  89.   sjSmoothSeries = $00000018;
  90.   sjSortSeries = $00000019;
  91.   sjDifferentiate = $0000001A;
  92.   sjIntegrate = $0000001B;
  93.   sjIntegral = $0000001C;
  94.   sjLineOfBestFit = $0000001D;
  95.   sjDualLineBestFit1 = $0000001E;
  96.   sjDualLineBestFit2 = $0000001F;
  97.   sjSelection = $00000020;
  98.   sjDualSelection1 = $00000021;
  99.   sjDualSelection2 = $00000022;
  100.  
  101. // Constants for enum TxContourDetail
  102. type
  103.   TxContourDetail = TOleEnum;
  104. const
  105.   cdLow = $00000000;
  106.   cdMedium = $00000001;
  107.   cdHigh = $00000002;
  108.   cdVHigh = $00000003;
  109.  
  110. // Constants for enum TxDisplayMode
  111. type
  112.   TxDisplayMode = TOleEnum;
  113. const
  114.   dmNormal = $00000000;
  115.   dmNone = $00000001;
  116.   dmRun = $00000002;
  117.   dmHistory = $00000003;
  118.  
  119. // Constants for enum TxGridType
  120. type
  121.   TxGridType = TOleEnum;
  122. const
  123.   gtNone = $00000000;
  124.   gtHorizontal = $00000001;
  125.   gtVertical = $00000002;
  126.   gtBoth = $00000003;
  127.  
  128. // Constants for enum TxPenStyle
  129. type
  130.   TxPenStyle = TOleEnum;
  131. const
  132.   psSolid = $00000000;
  133.   psDash = $00000001;
  134.   psDot = $00000002;
  135.   psDashDot = $00000003;
  136.   psDashDotDot = $00000004;
  137.   psClear = $00000005;
  138.   psInsideFrame = $00000006;
  139.  
  140. // Constants for enum TxPlotType
  141. type
  142.   TxPlotType = TOleEnum;
  143. const
  144.   ptXY = $00000000;
  145.   ptError = $00000001;
  146.   ptMultiple = $00000002;
  147.   ptBubble = $00000003;
  148.   ptColumn = $00000004;
  149.   ptStack = $00000005;
  150.   ptNormStack = $00000006;
  151.   ptPie = $00000007;
  152.   ptPolar = $00000008;
  153.   ptContour = $00000009;
  154.   pt3DContour = $0000000A;
  155.   pt3DWire = $0000000B;
  156.  
  157. // Constants for enum TxPrinterOrientation
  158. type
  159.   TxPrinterOrientation = TOleEnum;
  160. const
  161.   poPortrait = $00000000;
  162.   poLandscape = $00000001;
  163.  
  164. // Constants for enum TxBevelCut
  165. type
  166.   TxBevelCut = TOleEnum;
  167. const
  168.   bvNone = $00000000;
  169.   bvLowered = $00000001;
  170.   bvRaised = $00000002;
  171.   bvSpace = $00000003;
  172.  
  173. // Constants for enum TxBorderStyle
  174. type
  175.   TxBorderStyle = TOleEnum;
  176. const
  177.   bsNone = $00000000;
  178.   bsSingle = $00000001;
  179.  
  180. // Constants for enum TxDragMode
  181. type
  182.   TxDragMode = TOleEnum;
  183. const
  184.   dmManual = $00000000;
  185.   dmAutomatic = $00000001;
  186.  
  187. // Constants for enum TxMouseButton
  188. type
  189.   TxMouseButton = TOleEnum;
  190. const
  191.   mbLeft = $00000000;
  192.   mbRight = $00000001;
  193.   mbMiddle = $00000002;
  194.  
  195. type
  196.  
  197. // *********************************************************************//
  198. // Forward declaration of types defined in TypeLibrary                    
  199. // *********************************************************************//
  200.   IPlotX = interface;
  201.   IPlotXDisp = dispinterface;
  202.   IPlotXEvents = dispinterface;
  203.  
  204. // *********************************************************************//
  205. // Declaration of CoClasses defined in Type Library                       
  206. // (NOTE: Here we map each CoClass to its Default Interface)              
  207. // *********************************************************************//
  208.   PlotX = IPlotX;
  209.  
  210.  
  211. // *********************************************************************//
  212. // Declaration of structures, unions and aliases.                         
  213. // *********************************************************************//
  214.   PPUserType1 = ^IFontDisp; {*}
  215.  
  216.  
  217. // *********************************************************************//
  218. // Interface: IPlotX
  219. // Flags:     (4416) Dual OleAutomation Dispatchable
  220. // GUID:      {618FBF91-4B23-11D5-AC76-006008F62500}
  221. // *********************************************************************//
  222.   IPlotX = interface(IDispatch)
  223.     ['{618FBF91-4B23-11D5-AC76-006008F62500}']
  224.     function  Get_ScreenJob: TxScreenJob; safecall;
  225.     procedure Set_ScreenJob(Value: TxScreenJob); safecall;
  226.     function  Get_About: WideString; safecall;
  227.     procedure Set_About(const Value: WideString); safecall;
  228.     function  Get_AxesProperties: WideString; safecall;
  229.     procedure Set_AxesProperties(const Value: WideString); safecall;
  230.     function  Get_DataProperties: WideString; safecall;
  231.     procedure Set_DataProperties(const Value: WideString); safecall;
  232.     function  Get_SeriesProperties: WideString; safecall;
  233.     procedure Set_SeriesProperties(const Value: WideString); safecall;
  234.     function  Get_ClickAndDragDelay: Integer; safecall;
  235.     procedure Set_ClickAndDragDelay(Value: Integer); safecall;
  236.     function  Get_ColumnGap: Smallint; safecall;
  237.     procedure Set_ColumnGap(Value: Smallint); safecall;
  238.     function  Get_ContourDetail: TxContourDetail; safecall;
  239.     procedure Set_ContourDetail(Value: TxContourDetail); safecall;
  240.     function  Get_CreatedBy: WideString; safecall;
  241.     procedure Set_CreatedBy(const Value: WideString); safecall;
  242.     function  Get_Description: WideString; safecall;
  243.     procedure Set_Description(const Value: WideString); safecall;
  244.     function  Get_DisplayHistory: Single; safecall;
  245.     procedure Set_DisplayHistory(Value: Single); safecall;
  246.     function  Get_DisplayMode: TxDisplayMode; safecall;
  247.     procedure Set_DisplayMode(Value: TxDisplayMode); safecall;
  248.     function  Get_DefaultExtension: WideString; safecall;
  249.     procedure Set_DefaultExtension(const Value: WideString); safecall;
  250.     function  Get_Editable: WordBool; safecall;
  251.     procedure Set_Editable(Value: WordBool); safecall;
  252.     function  Get_FileName: WideString; safecall;
  253.     procedure Set_FileName(const Value: WideString); safecall;
  254.     function  Get_Grid: TxGridType; safecall;
  255.     procedure Set_Grid(Value: TxGridType); safecall;
  256.     function  Get_GridStyle: TxPenStyle; safecall;
  257.     procedure Set_GridStyle(Value: TxPenStyle); safecall;
  258.     function  Get_HighFont: IFontDisp; safecall;
  259.     procedure Set_HighFont(const Value: IFontDisp); safecall;
  260.     function  Get_HelpFile: WideString; safecall;
  261.     procedure Set_HelpFile(const Value: WideString); safecall;
  262.     function  Get_Movable: WordBool; safecall;
  263.     procedure Set_Movable(Value: WordBool); safecall;
  264.     function  Get_Multiplicity: Byte; safecall;
  265.     procedure Set_Multiplicity(Value: Byte); safecall;
  266.     function  Get_MultiJoin: WideString; safecall;
  267.     procedure Set_MultiJoin(const Value: WideString); safecall;
  268.     function  Get_PieRowCount: Byte; safecall;
  269.     procedure Set_PieRowCount(Value: Byte); safecall;
  270.     function  Get_NoSeries: Word; safecall;
  271.     procedure Set_NoSeries(Value: Word); safecall;
  272.     function  Get_NoYAxes: Integer; safecall;
  273.     procedure Set_NoYAxes(Value: Integer); safecall;
  274.     function  Get_OutlineWidth: Integer; safecall;
  275.     procedure Set_OutlineWidth(Value: Integer); safecall;
  276.     function  Get_PlotType: TxPlotType; safecall;
  277.     procedure Set_PlotType(Value: TxPlotType); safecall;
  278.     function  Get_PolarRange: Single; safecall;
  279.     procedure Set_PolarRange(Value: Single); safecall;
  280.     function  Get_PrintOrientation: TxPrinterOrientation; safecall;
  281.     procedure Set_PrintOrientation(Value: TxPrinterOrientation); safecall;
  282.     function  Get_ZAngle: Word; safecall;
  283.     procedure Set_ZAngle(Value: Word); safecall;
  284.     function  Get_ZLink: WordBool; safecall;
  285.     procedure Set_ZLink(Value: WordBool); safecall;
  286.     function  Get_XYFastDrawAt: Integer; safecall;
  287.     procedure Set_XYFastDrawAt(Value: Integer); safecall;
  288.     function  Get_BevelInner: TxBevelCut; safecall;
  289.     procedure Set_BevelInner(Value: TxBevelCut); safecall;
  290.     function  Get_BevelOuter: TxBevelCut; safecall;
  291.     procedure Set_BevelOuter(Value: TxBevelCut); safecall;
  292.     function  Get_BorderStyle: TxBorderStyle; safecall;
  293.     procedure Set_BorderStyle(Value: TxBorderStyle); safecall;
  294.     function  Get_Color: OLE_COLOR; safecall;
  295.     procedure Set_Color(Value: OLE_COLOR); safecall;
  296.     function  Get_Ctl3D: WordBool; safecall;
  297.     procedure Set_Ctl3D(Value: WordBool); safecall;
  298.     function  Get_DragCursor: Smallint; safecall;
  299.     procedure Set_DragCursor(Value: Smallint); safecall;
  300.     function  Get_DragMode: TxDragMode; safecall;
  301.     procedure Set_DragMode(Value: TxDragMode); safecall;
  302.     function  Get_Enabled: WordBool; safecall;
  303.     procedure Set_Enabled(Value: WordBool); safecall;
  304.     function  Get_Font: IFontDisp; safecall;
  305.     procedure _Set_Font(const Value: IFontDisp); safecall;
  306.     procedure Set_Font(var Value: IFontDisp); safecall;
  307.     function  Get_ParentColor: WordBool; safecall;
  308.     procedure Set_ParentColor(Value: WordBool); safecall;
  309.     function  Get_Locked: WordBool; safecall;
  310.     procedure Set_Locked(Value: WordBool); safecall;
  311.     function  Get_ParentCtl3D: WordBool; safecall;
  312.     procedure Set_ParentCtl3D(Value: WordBool); safecall;
  313.     function  Get_Visible: WordBool; safecall;
  314.     procedure Set_Visible(Value: WordBool); safecall;
  315.     function  Get_FullRepaint: WordBool; safecall;
  316.     procedure Set_FullRepaint(Value: WordBool); safecall;
  317.     function  Get_UseDockManager: WordBool; safecall;
  318.     procedure Set_UseDockManager(Value: WordBool); safecall;
  319.     function  Get_DockSite: WordBool; safecall;
  320.     procedure Set_DockSite(Value: WordBool); safecall;
  321.     function  Get_DoubleBuffered: WordBool; safecall;
  322.     procedure Set_DoubleBuffered(Value: WordBool); safecall;
  323.     function  Get_VisibleDockClientCount: Integer; safecall;
  324.     function  Get_Cursor: Smallint; safecall;
  325.     procedure Set_Cursor(Value: Smallint); safecall;
  326.     property ScreenJob: TxScreenJob read Get_ScreenJob write Set_ScreenJob;
  327.     property About: WideString read Get_About write Set_About;
  328.     property AxesProperties: WideString read Get_AxesProperties write Set_AxesProperties;
  329.     property DataProperties: WideString read Get_DataProperties write Set_DataProperties;
  330.     property SeriesProperties: WideString read Get_SeriesProperties write Set_SeriesProperties;
  331.     property ClickAndDragDelay: Integer read Get_ClickAndDragDelay write Set_ClickAndDragDelay;
  332.     property ColumnGap: Smallint read Get_ColumnGap write Set_ColumnGap;
  333.     property ContourDetail: TxContourDetail read Get_ContourDetail write Set_ContourDetail;
  334.     property CreatedBy: WideString read Get_CreatedBy write Set_CreatedBy;
  335.     property Description: WideString read Get_Description write Set_Description;
  336.     property DisplayHistory: Single read Get_DisplayHistory write Set_DisplayHistory;
  337.     property DisplayMode: TxDisplayMode read Get_DisplayMode write Set_DisplayMode;
  338.     property DefaultExtension: WideString read Get_DefaultExtension write Set_DefaultExtension;
  339.     property Editable: WordBool read Get_Editable write Set_Editable;
  340.     property FileName: WideString read Get_FileName write Set_FileName;
  341.     property Grid: TxGridType read Get_Grid write Set_Grid;
  342.     property GridStyle: TxPenStyle read Get_GridStyle write Set_GridStyle;
  343.     property HighFont: IFontDisp read Get_HighFont write Set_HighFont;
  344.     property HelpFile: WideString read Get_HelpFile write Set_HelpFile;
  345.     property Movable: WordBool read Get_Movable write Set_Movable;
  346.     property Multiplicity: Byte read Get_Multiplicity write Set_Multiplicity;
  347.     property MultiJoin: WideString read Get_MultiJoin write Set_MultiJoin;
  348.     property PieRowCount: Byte read Get_PieRowCount write Set_PieRowCount;
  349.     property NoSeries: Word read Get_NoSeries write Set_NoSeries;
  350.     property NoYAxes: Integer read Get_NoYAxes write Set_NoYAxes;
  351.     property OutlineWidth: Integer read Get_OutlineWidth write Set_OutlineWidth;
  352.     property PlotType: TxPlotType read Get_PlotType write Set_PlotType;
  353.     property PolarRange: Single read Get_PolarRange write Set_PolarRange;
  354.     property PrintOrientation: TxPrinterOrientation read Get_PrintOrientation write Set_PrintOrientation;
  355.     property ZAngle: Word read Get_ZAngle write Set_ZAngle;
  356.     property ZLink: WordBool read Get_ZLink write Set_ZLink;
  357.     property XYFastDrawAt: Integer read Get_XYFastDrawAt write Set_XYFastDrawAt;
  358.     property BevelInner: TxBevelCut read Get_BevelInner write Set_BevelInner;
  359.     property BevelOuter: TxBevelCut read Get_BevelOuter write Set_BevelOuter;
  360.     property BorderStyle: TxBorderStyle read Get_BorderStyle write Set_BorderStyle;
  361.     property Color: OLE_COLOR read Get_Color write Set_Color;
  362.     property Ctl3D: WordBool read Get_Ctl3D write Set_Ctl3D;
  363.     property DragCursor: Smallint read Get_DragCursor write Set_DragCursor;
  364.     property DragMode: TxDragMode read Get_DragMode write Set_DragMode;
  365.     property Enabled: WordBool read Get_Enabled write Set_Enabled;
  366.     property Font: IFontDisp read Get_Font write _Set_Font;
  367.     property ParentColor: WordBool read Get_ParentColor write Set_ParentColor;
  368.     property Locked: WordBool read Get_Locked write Set_Locked;
  369.     property ParentCtl3D: WordBool read Get_ParentCtl3D write Set_ParentCtl3D;
  370.     property Visible: WordBool read Get_Visible write Set_Visible;
  371.     property FullRepaint: WordBool read Get_FullRepaint write Set_FullRepaint;
  372.     property UseDockManager: WordBool read Get_UseDockManager write Set_UseDockManager;
  373.     property DockSite: WordBool read Get_DockSite write Set_DockSite;
  374.     property DoubleBuffered: WordBool read Get_DoubleBuffered write Set_DoubleBuffered;
  375.     property VisibleDockClientCount: Integer read Get_VisibleDockClientCount;
  376.     property Cursor: Smallint read Get_Cursor write Set_Cursor;
  377.   end;
  378.  
  379. // *********************************************************************//
  380. // DispIntf:  IPlotXDisp
  381. // Flags:     (4416) Dual OleAutomation Dispatchable
  382. // GUID:      {618FBF91-4B23-11D5-AC76-006008F62500}
  383. // *********************************************************************//
  384.   IPlotXDisp = dispinterface
  385.     ['{618FBF91-4B23-11D5-AC76-006008F62500}']
  386.     property ScreenJob: TxScreenJob dispid 1;
  387.     property About: WideString dispid 2;
  388.     property AxesProperties: WideString dispid 3;
  389.     property DataProperties: WideString dispid 4;
  390.     property SeriesProperties: WideString dispid 5;
  391.     property ClickAndDragDelay: Integer dispid 6;
  392.     property ColumnGap: Smallint dispid 7;
  393.     property ContourDetail: TxContourDetail dispid 8;
  394.     property CreatedBy: WideString dispid 9;
  395.     property Description: WideString dispid 10;
  396.     property DisplayHistory: Single dispid 11;
  397.     property DisplayMode: TxDisplayMode dispid 12;
  398.     property DefaultExtension: WideString dispid 13;
  399.     property Editable: WordBool dispid 14;
  400.     property FileName: WideString dispid 15;
  401.     property Grid: TxGridType dispid 16;
  402.     property GridStyle: TxPenStyle dispid 17;
  403.     property HighFont: IFontDisp dispid 18;
  404.     property HelpFile: WideString dispid 19;
  405.     property Movable: WordBool dispid 20;
  406.     property Multiplicity: Byte dispid 21;
  407.     property MultiJoin: WideString dispid 22;
  408.     property PieRowCount: Byte dispid 23;
  409.     property NoSeries: {??Word} OleVariant dispid 24;
  410.     property NoYAxes: Integer dispid 25;
  411.     property OutlineWidth: Integer dispid 26;
  412.     property PlotType: TxPlotType dispid 27;
  413.     property PolarRange: Single dispid 28;
  414.     property PrintOrientation: TxPrinterOrientation dispid 29;
  415.     property ZAngle: {??Word} OleVariant dispid 30;
  416.     property ZLink: WordBool dispid 31;
  417.     property XYFastDrawAt: Integer dispid 32;
  418.     property BevelInner: TxBevelCut dispid 33;
  419.     property BevelOuter: TxBevelCut dispid 34;
  420.     property BorderStyle: TxBorderStyle dispid 35;
  421.     property Color: OLE_COLOR dispid -501;
  422.     property Ctl3D: WordBool dispid 36;
  423.     property DragCursor: Smallint dispid 37;
  424.     property DragMode: TxDragMode dispid 38;
  425.     property Enabled: WordBool dispid -514;
  426.     property Font: IFontDisp dispid -512;
  427.     property ParentColor: WordBool dispid 39;
  428.     property Locked: WordBool dispid 40;
  429.     property ParentCtl3D: WordBool dispid 41;
  430.     property Visible: WordBool dispid 42;
  431.     property FullRepaint: WordBool dispid 43;
  432.     property UseDockManager: WordBool dispid 44;
  433.     property DockSite: WordBool dispid 45;
  434.     property DoubleBuffered: WordBool dispid 137;
  435.     property VisibleDockClientCount: Integer readonly dispid 138;
  436.     property Cursor: Smallint dispid 147;
  437.   end;
  438.  
  439. // *********************************************************************//
  440. // DispIntf:  IPlotXEvents
  441. // Flags:     (0)
  442. // GUID:      {618FBF93-4B23-11D5-AC76-006008F62500}
  443. // *********************************************************************//
  444.   IPlotXEvents = dispinterface
  445.     ['{618FBF93-4B23-11D5-AC76-006008F62500}']
  446.     procedure OnStyleChange; dispid 5;
  447.     procedure OnDataChange; dispid 6;
  448.     procedure OnFileOpen(const TheFile: WideString); dispid 7;
  449.     procedure OnFileClose(const TheFile: WideString); dispid 8;
  450.     procedure OnClick; dispid 14;
  451.     procedure OnDblClick; dispid 15;
  452.     procedure OnResize; dispid 22;
  453.     procedure OnCanResize(var NewWidth: Integer; var NewHeight: Integer; var Resize: WordBool); dispid 24;
  454.     procedure OnConstrainedResize(var MinWidth: Integer; var MinHeight: Integer; 
  455.                                   var MaxWidth: Integer; var MaxHeight: Integer); dispid 25;
  456.   end;
  457.  
  458.  
  459. // *********************************************************************//
  460. // OLE Control Proxy class declaration
  461. // Control Name     : TPlotX
  462. // Help String      : PlotX Control
  463. // Default Interface: IPlotX
  464. // Def. Intf. DISP? : No
  465. // Event   Interface: IPlotXEvents
  466. // TypeFlags        : (38) CanCreate Licensed Control
  467. // *********************************************************************//
  468.   TPlotXOnFileOpen = procedure(Sender: TObject; const TheFile: WideString) of object;
  469.   TPlotXOnFileClose = procedure(Sender: TObject; const TheFile: WideString) of object;
  470.   TPlotXOnCanResize = procedure(Sender: TObject; var NewWidth: Integer; var NewHeight: Integer; 
  471.                                                  var Resize: WordBool) of object;
  472.   TPlotXOnConstrainedResize = procedure(Sender: TObject; var MinWidth: Integer; 
  473.                                                          var MinHeight: Integer; 
  474.                                                          var MaxWidth: Integer; 
  475.                                                          var MaxHeight: Integer) of object;
  476.  
  477.   TPlotX = class(TOleControl)
  478.   private
  479.     FOnStyleChange: TNotifyEvent;
  480.     FOnDataChange: TNotifyEvent;
  481.     FOnFileOpen: TPlotXOnFileOpen;
  482.     FOnFileClose: TPlotXOnFileClose;
  483.     FOnClick: TNotifyEvent;
  484.     FOnDblClick: TNotifyEvent;
  485.     FOnResize: TNotifyEvent;
  486.     FOnCanResize: TPlotXOnCanResize;
  487.     FOnConstrainedResize: TPlotXOnConstrainedResize;
  488.     FIntf: IPlotX;
  489.     function  GetControlInterface: IPlotX;
  490.   protected
  491.     procedure CreateControl;
  492.     procedure InitControlData; override;
  493.   public
  494.     property  ControlInterface: IPlotX read GetControlInterface;
  495.     property  DefaultInterface: IPlotX read GetControlInterface;
  496.     property ScreenJob: TOleEnum index 1 read GetTOleEnumProp write SetTOleEnumProp;
  497.     property DoubleBuffered: WordBool index 137 read GetWordBoolProp write SetWordBoolProp;
  498.     property VisibleDockClientCount: Integer index 138 read GetIntegerProp;
  499.   published
  500.     property About: WideString index 2 read GetWideStringProp write SetWideStringProp stored False;
  501.     property AxesProperties: WideString index 3 read GetWideStringProp write SetWideStringProp stored False;
  502.     property DataProperties: WideString index 4 read GetWideStringProp write SetWideStringProp stored False;
  503.     property SeriesProperties: WideString index 5 read GetWideStringProp write SetWideStringProp stored False;
  504.     property ClickAndDragDelay: Integer index 6 read GetIntegerProp write SetIntegerProp stored False;
  505.     property ColumnGap: Smallint index 7 read GetSmallintProp write SetSmallintProp stored False;
  506.     property ContourDetail: TOleEnum index 8 read GetTOleEnumProp write SetTOleEnumProp stored False;
  507.     property CreatedBy: WideString index 9 read GetWideStringProp write SetWideStringProp stored False;
  508.     property Description: WideString index 10 read GetWideStringProp write SetWideStringProp stored False;
  509.     property DisplayHistory: Single index 11 read GetSingleProp write SetSingleProp stored False;
  510.     property DisplayMode: TOleEnum index 12 read GetTOleEnumProp write SetTOleEnumProp stored False;
  511.     property DefaultExtension: WideString index 13 read GetWideStringProp write SetWideStringProp stored False;
  512.     property Editable: WordBool index 14 read GetWordBoolProp write SetWordBoolProp stored False;
  513.     property FileName: WideString index 15 read GetWideStringProp write SetWideStringProp stored False;
  514.     property Grid: TOleEnum index 16 read GetTOleEnumProp write SetTOleEnumProp stored False;
  515.     property GridStyle: TOleEnum index 17 read GetTOleEnumProp write SetTOleEnumProp stored False;
  516.     property HighFont: TFont index 18 read GetTFontProp write SetTFontProp stored False;
  517.     property HelpFile: WideString index 19 read GetWideStringProp write SetWideStringProp stored False;
  518.     property Movable: WordBool index 20 read GetWordBoolProp write SetWordBoolProp stored False;
  519.     property Multiplicity: Byte index 21 read GetByteProp write SetByteProp stored False;
  520.     property MultiJoin: WideString index 22 read GetWideStringProp write SetWideStringProp stored False;
  521.     property PieRowCount: Byte index 23 read GetByteProp write SetByteProp stored False;
  522.     property NoSeries: Word index 24 read GetWordProp write SetWordProp stored False;
  523.     property NoYAxes: Integer index 25 read GetIntegerProp write SetIntegerProp stored False;
  524.     property OutlineWidth: Integer index 26 read GetIntegerProp write SetIntegerProp stored False;
  525.     property PlotType: TOleEnum index 27 read GetTOleEnumProp write SetTOleEnumProp stored False;
  526.     property PolarRange: Single index 28 read GetSingleProp write SetSingleProp stored False;
  527.     property PrintOrientation: TOleEnum index 29 read GetTOleEnumProp write SetTOleEnumProp stored False;
  528.     property ZAngle: Word index 30 read GetWordProp write SetWordProp stored False;
  529.     property ZLink: WordBool index 31 read GetWordBoolProp write SetWordBoolProp stored False;
  530.     property XYFastDrawAt: Integer index 32 read GetIntegerProp write SetIntegerProp stored False;
  531.     property BevelInner: TOleEnum index 33 read GetTOleEnumProp write SetTOleEnumProp stored False;
  532.     property BevelOuter: TOleEnum index 34 read GetTOleEnumProp write SetTOleEnumProp stored False;
  533.     property BorderStyle: TOleEnum index 35 read GetTOleEnumProp write SetTOleEnumProp stored False;
  534.     property Color: TColor index -501 read GetTColorProp write SetTColorProp stored False;
  535.     property Ctl3D: WordBool index 36 read GetWordBoolProp write SetWordBoolProp stored False;
  536.     property DragCursor: Smallint index 37 read GetSmallintProp write SetSmallintProp stored False;
  537.     property DragMode: TOleEnum index 38 read GetTOleEnumProp write SetTOleEnumProp stored False;
  538.     property Enabled: WordBool index -514 read GetWordBoolProp write SetWordBoolProp stored False;
  539.     property Font: TFont index -512 read GetTFontProp write SetTFontProp stored False;
  540.     property ParentColor: WordBool index 39 read GetWordBoolProp write SetWordBoolProp stored False;
  541.     property Locked: WordBool index 40 read GetWordBoolProp write SetWordBoolProp stored False;
  542.     property ParentCtl3D: WordBool index 41 read GetWordBoolProp write SetWordBoolProp stored False;
  543.     property Visible: WordBool index 42 read GetWordBoolProp write SetWordBoolProp stored False;
  544.     property FullRepaint: WordBool index 43 read GetWordBoolProp write SetWordBoolProp stored False;
  545.     property UseDockManager: WordBool index 44 read GetWordBoolProp write SetWordBoolProp stored False;
  546.     property DockSite: WordBool index 45 read GetWordBoolProp write SetWordBoolProp stored False;
  547.     property Cursor: Smallint index 147 read GetSmallintProp write SetSmallintProp stored False;
  548.     property OnStyleChange: TNotifyEvent read FOnStyleChange write FOnStyleChange;
  549.     property OnDataChange: TNotifyEvent read FOnDataChange write FOnDataChange;
  550.     property OnFileOpen: TPlotXOnFileOpen read FOnFileOpen write FOnFileOpen;
  551.     property OnFileClose: TPlotXOnFileClose read FOnFileClose write FOnFileClose;
  552.     property OnClick: TNotifyEvent read FOnClick write FOnClick;
  553.     property OnDblClick: TNotifyEvent read FOnDblClick write FOnDblClick;
  554.     property OnResize: TNotifyEvent read FOnResize write FOnResize;
  555.     property OnCanResize: TPlotXOnCanResize read FOnCanResize write FOnCanResize;
  556.     property OnConstrainedResize: TPlotXOnConstrainedResize read FOnConstrainedResize write FOnConstrainedResize;
  557.   end;
  558.  
  559. procedure Register;
  560.  
  561. implementation
  562.  
  563. uses ComObj;
  564.  
  565. procedure TPlotX.InitControlData;
  566. const
  567.   CEventDispIDs: array [0..8] of DWORD = (
  568.     $00000005, $00000006, $00000007, $00000008, $0000000E, $0000000F,
  569.     $00000016, $00000018, $00000019);
  570.   CTFontIDs: array [0..1] of DWORD = (
  571.     $00000012, $FFFFFE00);
  572.   CControlData: TControlData2 = (
  573.     ClassID: '{618FBF95-4B23-11D5-AC76-006008F62500}';
  574.     EventIID: '{618FBF93-4B23-11D5-AC76-006008F62500}';
  575.     EventCount: 9;
  576.     EventDispIDs: @CEventDispIDs;
  577.     LicenseKey: nil (*HR:$80040154*);
  578.     Flags: $0000000D;
  579.     Version: 401;
  580.     FontCount: 2;
  581.     FontIDs: @CTFontIDs);
  582. begin
  583.   ControlData := @CControlData;
  584.   TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnStyleChange) - Cardinal(Self);
  585. end;
  586.  
  587. procedure TPlotX.CreateControl;
  588.  
  589.   procedure DoCreate;
  590.   begin
  591.     FIntf := IUnknown(OleObject) as IPlotX;
  592.   end;
  593.  
  594. begin
  595.   if FIntf = nil then DoCreate;
  596. end;
  597.  
  598. function TPlotX.GetControlInterface: IPlotX;
  599. begin
  600.   CreateControl;
  601.   Result := FIntf;
  602. end;
  603.  
  604. procedure Register;
  605. begin
  606.   RegisterComponents('ActiveX',[TPlotX]);
  607. end;
  608.  
  609. end.
  610.