XArrow_TLB.pas
上传用户:fh681027
上传日期:2022-07-23
资源大小:1959k
文件大小:10k
源码类别:

Delphi控件源码

开发平台:

Delphi

  1. unit XArrow_TLB;
  2. // ************************************************************************ //
  3. // WARNING                                                                    
  4. // -------                                                                    
  5. // The types declared in this file were generated from data read from a       
  6. // Type Library. If this type library is explicitly or indirectly (via        
  7. // another type library referring to this type library) re-imported, or the   
  8. // 'Refresh' command of the Type Library Editor activated while editing the   
  9. // Type Library, the contents of this file will be regenerated and all        
  10. // manual modifications will be lost.                                         
  11. // ************************************************************************ //
  12. // PASTLWTR : $Revision:   1.118  $
  13. // File generated on 4/29/2001 4:21:40 PM from Type Library described below.
  14. // ************************************************************************  //
  15. // Type Lib: C:md6code20XArrowXArrow.tlb (1)
  16. // LIBID: {482B2140-4133-11D3-B9F1-00000100A27B}
  17. // LCID: 0
  18. // Helpfile:
  19. // DepndLst:
  20. //   (1) v2.0 stdole, (C:WINDOWSSystem32stdole2.tlb)
  21. //   (2) v4.0 StdVCL, (C:WINDOWSsystem32stdvcl40.dll)
  22. // ************************************************************************ //
  23. {$TYPEDADDRESS OFF} // Unit must be compiled without type-checked pointers.
  24. {$WARN SYMBOL_PLATFORM OFF}
  25. {$WRITEABLECONST ON}
  26. interface
  27. uses ActiveX, Classes, Graphics, OleCtrls, StdVcl, Variants, Windows;
  28.   
  29. // *********************************************************************//
  30. // GUIDS declared in the TypeLibrary. Following prefixes are used:
  31. //   Type Libraries     : LIBID_xxxx                                      
  32. //   CoClasses          : CLASS_xxxx                                      
  33. //   DISPInterfaces     : DIID_xxxx                                       
  34. //   Non-DISP interfaces: IID_xxxx                                        
  35. // *********************************************************************//
  36. const
  37.   // TypeLibrary Major and minor versions
  38.   XArrowMajorVersion = 1;
  39.   XArrowMinorVersion = 0;
  40.   LIBID_XArrow: TGUID = '{482B2140-4133-11D3-B9F1-00000100A27B}';
  41.   IID_IMdWArrowX: TGUID = '{482B2141-4133-11D3-B9F1-00000100A27B}';
  42.   DIID_IMdWArrowXEvents: TGUID = '{482B2143-4133-11D3-B9F1-00000100A27B}';
  43.   CLASS_MdWArrowX: TGUID = '{482B2145-4133-11D3-B9F1-00000100A27B}';
  44. // *********************************************************************//
  45. // Declaration of Enumerations defined in Type Library
  46. // *********************************************************************//
  47. // Constants for enum TxMdWArrowDir
  48. type
  49.   TxMdWArrowDir = TOleEnum;
  50. const
  51.   adUp = $00000000;
  52.   adLeft = $00000001;
  53.   adDown = $00000002;
  54.   adRight = $00000003;
  55. // Constants for enum TxMouseButton
  56. type
  57.   TxMouseButton = TOleEnum;
  58. const
  59.   mbLeft = $00000000;
  60.   mbRight = $00000001;
  61.   mbMiddle = $00000002;
  62. type
  63. // *********************************************************************//
  64. // Forward declaration of types defined in TypeLibrary                    
  65. // *********************************************************************//
  66.   IMdWArrowX = interface;
  67.   IMdWArrowXDisp = dispinterface;
  68.   IMdWArrowXEvents = dispinterface;
  69. // *********************************************************************//
  70. // Declaration of CoClasses defined in Type Library                       
  71. // (NOTE: Here we map each CoClass to its Default Interface)              
  72. // *********************************************************************//
  73.   MdWArrowX = IMdWArrowX;
  74. // *********************************************************************//
  75. // Interface: IMdWArrowX
  76. // Flags:     (4416) Dual OleAutomation Dispatchable
  77. // GUID:      {482B2141-4133-11D3-B9F1-00000100A27B}
  78. // *********************************************************************//
  79.   IMdWArrowX = interface(IDispatch)
  80.     ['{482B2141-4133-11D3-B9F1-00000100A27B}']
  81.     function  Get_Direction: TxMdWArrowDir; safecall;
  82.     procedure Set_Direction(Value: TxMdWArrowDir); safecall;
  83.     function  Get_ArrowHeight: Integer; safecall;
  84.     procedure Set_ArrowHeight(Value: Integer); safecall;
  85.     function  Get_Filled: WordBool; safecall;
  86.     procedure Set_Filled(Value: WordBool); safecall;
  87.     function  Get_DoubleBuffered: WordBool; safecall;
  88.     procedure Set_DoubleBuffered(Value: WordBool); safecall;
  89.     function  Get_Enabled: WordBool; safecall;
  90.     procedure Set_Enabled(Value: WordBool); safecall;
  91.     function  Get_Visible: WordBool; safecall;
  92.     procedure Set_Visible(Value: WordBool); safecall;
  93.     function  Get_Cursor: Smallint; safecall;
  94.     procedure Set_Cursor(Value: Smallint); safecall;
  95.     function  Get_FillColor: Integer; safecall;
  96.     procedure Set_FillColor(Value: Integer); safecall;
  97.     function  Get_PenColor: Integer; safecall;
  98.     procedure Set_PenColor(Value: Integer); safecall;
  99.     property Direction: TxMdWArrowDir read Get_Direction write Set_Direction;
  100.     property ArrowHeight: Integer read Get_ArrowHeight write Set_ArrowHeight;
  101.     property Filled: WordBool read Get_Filled write Set_Filled;
  102.     property DoubleBuffered: WordBool read Get_DoubleBuffered write Set_DoubleBuffered;
  103.     property Enabled: WordBool read Get_Enabled write Set_Enabled;
  104.     property Visible: WordBool read Get_Visible write Set_Visible;
  105.     property Cursor: Smallint read Get_Cursor write Set_Cursor;
  106.     property FillColor: Integer read Get_FillColor write Set_FillColor;
  107.     property PenColor: Integer read Get_PenColor write Set_PenColor;
  108.   end;
  109. // *********************************************************************//
  110. // DispIntf:  IMdWArrowXDisp
  111. // Flags:     (4416) Dual OleAutomation Dispatchable
  112. // GUID:      {482B2141-4133-11D3-B9F1-00000100A27B}
  113. // *********************************************************************//
  114.   IMdWArrowXDisp = dispinterface
  115.     ['{482B2141-4133-11D3-B9F1-00000100A27B}']
  116.     property Direction: TxMdWArrowDir dispid 1;
  117.     property ArrowHeight: Integer dispid 2;
  118.     property Filled: WordBool dispid 3;
  119.     property DoubleBuffered: WordBool dispid 4;
  120.     property Enabled: WordBool dispid -514;
  121.     property Visible: WordBool dispid 13;
  122.     property Cursor: Smallint dispid 14;
  123.     property FillColor: Integer dispid 20;
  124.     property PenColor: Integer dispid 21;
  125.   end;
  126. // *********************************************************************//
  127. // DispIntf:  IMdWArrowXEvents
  128. // Flags:     (4096) Dispatchable
  129. // GUID:      {482B2143-4133-11D3-B9F1-00000100A27B}
  130. // *********************************************************************//
  131.   IMdWArrowXEvents = dispinterface
  132.     ['{482B2143-4133-11D3-B9F1-00000100A27B}']
  133.     procedure OnClick; dispid 1;
  134.     procedure OnArrowDblClick; dispid 8;
  135.   end;
  136. // *********************************************************************//
  137. // OLE Control Proxy class declaration
  138. // Control Name     : TMdWArrowX
  139. // Help String      : MdWArrowX Control
  140. // Default Interface: IMdWArrowX
  141. // Def. Intf. DISP? : No
  142. // Event   Interface: IMdWArrowXEvents
  143. // TypeFlags        : (34) CanCreate Control
  144. // *********************************************************************//
  145.   TMdWArrowX = class(TOleControl)
  146.   private
  147.     FOnClick: TNotifyEvent;
  148.     FOnArrowDblClick: TNotifyEvent;
  149.     FIntf: IMdWArrowX;
  150.     function  GetControlInterface: IMdWArrowX;
  151.   protected
  152.     procedure CreateControl;
  153.     procedure InitControlData; override;
  154.   public
  155.     property  ControlInterface: IMdWArrowX read GetControlInterface;
  156.     property  DefaultInterface: IMdWArrowX read GetControlInterface;
  157.     property DoubleBuffered: WordBool index 4 read GetWordBoolProp write SetWordBoolProp;
  158.     property Enabled: WordBool index -514 read GetWordBoolProp write SetWordBoolProp;
  159.     property Visible: WordBool index 13 read GetWordBoolProp write SetWordBoolProp;
  160.   published
  161.     property  TabStop;
  162.     property  Align;
  163.     property  DragCursor;
  164.     property  DragMode;
  165.     property  ParentShowHint;
  166.     property  PopupMenu;
  167.     property  ShowHint;
  168.     property  TabOrder;
  169.     property  OnDragDrop;
  170.     property  OnDragOver;
  171.     property  OnEndDrag;
  172.     property  OnEnter;
  173.     property  OnExit;
  174.     property  OnStartDrag;
  175.     property Direction: TOleEnum index 1 read GetTOleEnumProp write SetTOleEnumProp stored False;
  176.     property ArrowHeight: Integer index 2 read GetIntegerProp write SetIntegerProp stored False;
  177.     property Filled: WordBool index 3 read GetWordBoolProp write SetWordBoolProp stored False;
  178.     property Cursor: Smallint index 14 read GetSmallintProp write SetSmallintProp stored False;
  179.     property FillColor: Integer index 20 read GetIntegerProp write SetIntegerProp stored False;
  180.     property PenColor: Integer index 21 read GetIntegerProp write SetIntegerProp stored False;
  181.     property OnClick: TNotifyEvent read FOnClick write FOnClick;
  182.     property OnArrowDblClick: TNotifyEvent read FOnArrowDblClick write FOnArrowDblClick;
  183.   end;
  184. procedure Register;
  185. resourcestring
  186.   dtlServerPage = 'Servers';
  187. implementation
  188. uses ComObj;
  189. procedure TMdWArrowX.InitControlData;
  190. const
  191.   CEventDispIDs: array [0..1] of DWORD = (
  192.     $00000001, $00000008);
  193.   CControlData: TControlData2 = (
  194.     ClassID: '{482B2145-4133-11D3-B9F1-00000100A27B}';
  195.     EventIID: '{482B2143-4133-11D3-B9F1-00000100A27B}';
  196.     EventCount: 2;
  197.     EventDispIDs: @CEventDispIDs;
  198.     LicenseKey: nil (*HR:$00000000*);
  199.     Flags: $00000008;
  200.     Version: 401);
  201. begin
  202.   ControlData := @CControlData;
  203.   TControlData2(CControlData).FirstEventOfs := Cardinal(@@FOnClick) - Cardinal(Self);
  204. end;
  205. procedure TMdWArrowX.CreateControl;
  206.   procedure DoCreate;
  207.   begin
  208.     FIntf := IUnknown(OleObject) as IMdWArrowX;
  209.   end;
  210. begin
  211.   if FIntf = nil then DoCreate;
  212. end;
  213. function TMdWArrowX.GetControlInterface: IMdWArrowX;
  214. begin
  215.   CreateControl;
  216.   Result := FIntf;
  217. end;
  218. procedure Register;
  219. begin
  220.   RegisterComponents('ActiveX',[TMdWArrowX]);
  221. end;
  222. end.