home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1997 May / Pcwk0597.iso / borland / cb / setup / cbuilder / data.z / EXTCTRLS.INT < prev    next >
Text File  |  1997-02-28  |  11KB  |  370 lines

  1.  
  2. {*******************************************************}
  3. {                                                       }
  4. {       Delphi Visual Component Library                 }
  5. {                                                       }
  6. {       Copyright (c) 1995,96 Borland International     }
  7. {                                                       }
  8. {*******************************************************}
  9.  
  10. unit ExtCtrls;
  11.  
  12. {$S-,W-,R-}
  13. {$C PRELOAD}
  14.  
  15. interface
  16.  
  17. uses Messages, Windows, SysUtils, Classes, Controls, Forms, Menus, Graphics,
  18.   StdCtrls;
  19.  
  20. type
  21.  
  22.   TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare,
  23.     stEllipse, stCircle);
  24.  
  25.   TShape = class(TGraphicControl)
  26.   protected
  27.     procedure Paint; override;
  28.   public
  29.     constructor Create(AOwner: TComponent); override;
  30.     destructor Destroy; override;
  31.   published
  32.     procedure StyleChanged(Sender: TObject);
  33.     property Brush: TBrush;
  34.     property DragCursor;
  35.     property DragMode;
  36.     property Enabled;
  37.     property ParentShowHint;
  38.     property Pen: TPen;
  39.     property Shape: TShapeType default stRectangle;
  40.     property ShowHint;
  41.     property Visible;
  42.     property OnDragDrop;
  43.     property OnDragOver;
  44.     property OnEndDrag;
  45.     property OnMouseDown;
  46.     property OnMouseMove;
  47.     property OnMouseUp;
  48.     property OnStartDrag;
  49.   end;
  50.  
  51.   TPaintBox = class(TGraphicControl)
  52.   protected
  53.     procedure Paint; override;
  54.   public
  55.     constructor Create(AOwner: TComponent); override;
  56.     property Canvas;
  57.   published
  58.     property Align;
  59.     property Color;
  60.     property DragCursor;
  61.     property DragMode;
  62.     property Enabled;
  63.     property Font;
  64.     property ParentColor;
  65.     property ParentFont;
  66.     property ParentShowHint;
  67.     property PopupMenu;
  68.     property ShowHint;
  69.     property Visible;
  70.     property OnClick;
  71.     property OnDblClick;
  72.     property OnDragDrop;
  73.     property OnDragOver;
  74.     property OnEndDrag;
  75.     property OnMouseDown;
  76.     property OnMouseMove;
  77.     property OnMouseUp;
  78.     property OnPaint: TNotifyEvent;
  79.     property OnStartDrag;
  80.   end;
  81.  
  82.   TImage = class(TGraphicControl)
  83.   protected
  84.     function GetPalette: HPALETTE; override;
  85.     procedure Paint; override;
  86.   public
  87.     constructor Create(AOwner: TComponent); override;
  88.     destructor Destroy; override;
  89.     property Canvas: TCanvas;
  90.   published
  91.     property Align;
  92.     property AutoSize: Boolean default False;
  93.     property Center: Boolean default False;
  94.     property DragCursor;
  95.     property DragMode;
  96.     property Enabled;
  97.     property ParentShowHint;
  98.     property Picture: TPicture;
  99.     property PopupMenu;
  100.     property ShowHint;
  101.     property Stretch: Boolean default False;
  102.     property Visible;
  103.     property OnClick;
  104.     property OnDblClick;
  105.     property OnDragDrop;
  106.     property OnDragOver;
  107.     property OnEndDrag;
  108.     property OnMouseDown;
  109.     property OnMouseMove;
  110.     property OnMouseUp;
  111.     property OnStartDrag;
  112.   end;
  113.  
  114.   TBevelStyle = (bsLowered, bsRaised);
  115.   TBevelShape = (bsBox, bsFrame, bsTopLine, bsBottomLine, bsLeftLine,
  116.     bsRightLine);
  117.  
  118.   TBevel = class(TGraphicControl)
  119.   protected
  120.     procedure Paint; override;
  121.   public
  122.     constructor Create(AOwner: TComponent); override;
  123.   published
  124.     property Align;
  125.     property ParentShowHint;
  126.     property Shape: TBevelShape default bsBox;
  127.     property ShowHint;
  128.     property Style: TBevelStyle default bsLowered;
  129.     property Visible;
  130.   end;
  131.  
  132.   TTimer = class(TComponent)
  133.   protected
  134.     procedure Timer; dynamic;
  135.   public
  136.     constructor Create(AOwner: TComponent); override;
  137.     destructor Destroy; override;
  138.   published
  139.     property Enabled: Boolean default True;
  140.     property Interval: Cardinal default 1000;
  141.     property OnTimer: TNotifyEvent;
  142.   end;
  143.  
  144.   TPanelBevel = (bvNone, bvLowered, bvRaised);
  145.   TBevelWidth = 1..MaxInt;
  146.   TBorderWidth = 0..MaxInt;
  147.  
  148.   TCustomPanel = class(TCustomControl)
  149.   protected
  150.     procedure CreateParams(var Params: TCreateParams); override;
  151.     procedure AlignControls(AControl: TControl; var Rect: TRect); override;
  152.     procedure Paint; override;
  153.     procedure Resize; dynamic;
  154.     property Alignment: TAlignment default taCenter;
  155.     property BevelInner: TPanelBevel default bvNone;
  156.     property BevelOuter: TPanelBevel default bvRaised;
  157.     property BevelWidth: TBevelWidth default 1;
  158.     property BorderWidth: TBorderWidth default 0;
  159.     property BorderStyle: TBorderStyle default bsNone;
  160.     property Color default clBtnFace;
  161.     property FullRepaint: Boolean default True;
  162.     property Locked: Boolean default False;
  163.     property ParentColor default False;
  164.     property OnResize: TNotifyEvent;
  165.   public
  166.     constructor Create(AOwner: TComponent); override;
  167.   end;
  168.  
  169.   TPanel = class(TCustomPanel)
  170.   published
  171.     property Align;
  172.     property Alignment;
  173.     property BevelInner;
  174.     property BevelOuter;
  175.     property BevelWidth;
  176.     property BorderWidth;
  177.     property BorderStyle;
  178.     property DragCursor;
  179.     property DragMode;
  180.     property Enabled;
  181.     property Caption;
  182.     property Color;
  183.     property Ctl3D;
  184.     property Font;
  185.     property Locked;
  186.     property ParentColor;
  187.     property ParentCtl3D;
  188.     property ParentFont;
  189.     property ParentShowHint;
  190.     property PopupMenu;
  191.     property ShowHint;
  192.     property TabOrder;
  193.     property TabStop;
  194.     property Visible;
  195.     property OnClick;
  196.     property OnDblClick;
  197.     property OnDragDrop;
  198.     property OnDragOver;
  199.     property OnEndDrag;
  200.     property OnEnter;
  201.     property OnExit;
  202.     property OnMouseDown;
  203.     property OnMouseMove;
  204.     property OnMouseUp;
  205.     property OnResize;
  206.     property OnStartDrag;
  207.   end;
  208.  
  209.   TPage = class(TCustomControl)
  210.   protected
  211.     procedure ReadState(Reader: TReader); override;
  212.     procedure Paint; override;
  213.   public
  214.     constructor Create(AOwner: TComponent); override;
  215.   published
  216.     property Caption;
  217.     property Height stored False;
  218.     property TabOrder stored False;
  219.     property Visible stored False;
  220.     property Width stored False;
  221.   end;
  222.  
  223.   TNotebook = class(TCustomControl)
  224.   protected
  225.     procedure CreateParams(var Params: TCreateParams); override;
  226.     function GetChildOwner: TComponent; override;
  227.     procedure GetChildren(Proc: TGetChildProc); override;
  228.     procedure ReadState(Reader: TReader); override;
  229.     procedure ShowControl(AControl: TControl); override;
  230.   public
  231.     constructor Create(AOwner: TComponent); override;
  232.     destructor Destroy; override;
  233.   published
  234.     property ActivePage: string;
  235.     property Align;
  236.     property Color;
  237.     property Ctl3D;
  238.     property DragCursor;
  239.     property DragMode;
  240.     property Font;
  241.     property Enabled;
  242.     property PageIndex: Integer default 0;
  243.     property Pages: TStrings;
  244.     property ParentColor;
  245.     property ParentCtl3D;
  246.     property ParentFont;
  247.     property ParentShowHint;
  248.     property PopupMenu;
  249.     property ShowHint;
  250.     property TabOrder;
  251.     property TabStop;
  252.     property Visible;
  253.     property OnClick;
  254.     property OnDblClick;
  255.     property OnDragDrop;
  256.     property OnDragOver;
  257.     property OnEndDrag;
  258.     property OnEnter;
  259.     property OnExit;
  260.     property OnMouseDown;
  261.     property OnMouseMove;
  262.     property OnMouseUp;
  263.     property OnPageChanged: TNotifyEvent;
  264.     property OnStartDrag;
  265.   end;
  266.  
  267. { THeader
  268.   Purpose  - Creates sectioned visual header that allows each section to be
  269.              resized with the mouse.
  270.   Features - This is a design-interactive control.  In design mode, the
  271.              sections are named using the string-list editor.  Each section
  272.              can now be manually resized using the right mouse button the grab
  273.              the divider and drag to the new size.  Changing the section list
  274.              at design (or even run-time), will attempt to maintain the
  275.              section widths for sections that have not been changed.
  276.   Properties:
  277.     Align - Standard property.
  278.     AllowResize - If True, the control allows run-time mouse resizing of the
  279.                   sections.
  280.     BorderStyle - Turns the border on and off.
  281.     Font - Standard property.
  282.     Sections - A special string-list that contains the section text.
  283.     ParentFont - Standard property.
  284.     OnSizing - Event called for each mouse move during a section resize
  285.                operation.
  286.     OnSized - Event called once the size operation is complete.
  287.  
  288.     SectionWidth - Array property allowing run-time getting and setting of
  289.                    each section's width. }
  290.  
  291.   TSectionEvent = procedure(Sender: TObject;
  292.     ASection, AWidth: Integer) of object;
  293.  
  294.   THeader = class(TCustomControl)
  295.   protected
  296.     procedure Paint; override;
  297.     procedure CreateParams(var Params: TCreateParams); override;
  298.     procedure Sizing(ASection, AWidth: Integer); dynamic;
  299.     procedure Sized(ASection, AWidth: Integer); dynamic;
  300.   public
  301.     constructor Create(AOwner: TComponent); override;
  302.     destructor Destroy; override;
  303.     property SectionWidth[X: Integer]: Integer;
  304.   published
  305.     property Align;
  306.     property AllowResize: Boolean default True;
  307.     property BorderStyle: TBorderStyle default bsSingle;
  308.     property Enabled;
  309.     property Font;
  310.     property ParentFont;
  311.     property ParentShowHint;
  312.     property PopupMenu;
  313.     property Sections: TStrings;
  314.     property ShowHint;
  315.     property TabOrder;
  316.     property TabStop;
  317.     property Visible;
  318.     property OnSizing: TSectionEvent;
  319.     property OnSized: TSectionEvent;
  320.   end;
  321.  
  322.   TCustomRadioGroup = class(TCustomGroupBox)
  323.   protected
  324.     procedure ReadState(Reader: TReader); override;
  325.     function CanModify: Boolean; virtual;
  326.     procedure GetChildren(Proc: TGetChildProc); override;
  327.     property Columns: Integer default 1;
  328.     property ItemIndex: Integer default -1;
  329.     property Items: TStrings;
  330.   public
  331.     constructor Create(AOwner: TComponent); override;
  332.     destructor Destroy; override;
  333.   end;
  334.  
  335.   TRadioGroup = class(TCustomRadioGroup)
  336.   published
  337.     property Align;
  338.     property Caption;
  339.     property Color;
  340.     property Columns;
  341.     property Ctl3D;
  342.     property DragCursor;
  343.     property DragMode;
  344.     property Enabled;
  345.     property Font;
  346.     property ItemIndex;
  347.     property Items;
  348.     property ParentColor;
  349.     property ParentCtl3D;
  350.     property ParentFont;
  351.     property ParentShowHint;
  352.     property PopupMenu;
  353.     property ShowHint;
  354.     property TabOrder;
  355.     property TabStop;
  356.     property Visible;
  357.     property OnClick;
  358.     property OnDragDrop;
  359.     property OnDragOver;
  360.     property OnEndDrag;
  361.     property OnEnter;
  362.     property OnExit;
  363.     property OnStartDrag;
  364.   end;
  365.  
  366. procedure Frame3D(Canvas: TCanvas; var Rect: TRect;
  367.   TopColor, BottomColor: TColor; Width: Integer);
  368.  
  369. implementation
  370.