home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 January / Pcwk0198.iso / Dcomplib / BORDERLB.LZH / BLABEL.PAS next >
Pascal/Delphi Source File  |  1996-07-05  |  3KB  |  128 lines

  1. (*
  2.  DESCRIPTION :  A very simple component: a label with a border
  3.  AUTHOR      : Harm v. Zoest, email : 4923559@hsu1.fnt.hvu.nl
  4.  VERSION     :  1.0 07-05-1996
  5.  REMARKS     : If you have comments, found bugs, ore you have added some
  6.                nice features, please mail me!
  7.  *)
  8. unit BLabel;
  9.  
  10. interface
  11.  
  12. uses
  13.   Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  14.   StdCtrls;
  15.  
  16. type
  17.   TBorderLabel = class(TCustomLabel)
  18.   private
  19.     { Private declarations }
  20.     FBColor : Tcolor;
  21.     FBWidth : integer;
  22.     FBStyle : TPenStyle;
  23.     FShow : boolean;
  24.     procedure SetColor(Value : Tcolor);
  25.     procedure SetStyle(Value : TpenStyle);
  26.     procedure SetWidth(Value : integer);
  27.     procedure Show(Value : boolean);
  28.   protected
  29.     { Protected declarations }
  30.     procedure Paint; override;
  31.   public
  32.     { Public declarations }
  33.     constructor Create(AOwner: TComponent); override;
  34.   published
  35.     { Published declarations }
  36.  
  37.     { own properties}
  38.     property BorderColor : Tcolor read FBColor write SetColor;
  39.     property Borderpenstyle : TPenStyle read FBStyle write SetStyle;
  40.     property BorderWidth : integer read FBWidth write SetWidth default 1;
  41.     property ShowBorder : boolean read Fshow write Show ;
  42.  
  43.     {  inherited properties }
  44.     property Align;
  45.     property Alignment;
  46.     property Autosize;
  47.     property Caption;
  48.     property Color;
  49.     property Cursor;
  50.     property DragCursor;
  51.     property DragMode;
  52.     property Enabled;
  53.     property FocusControl;
  54.     property Font;
  55.     property ParentColor;
  56.     property ParentFont;
  57.     property ParentShowHint;
  58.     property ShowAccelChar;
  59.     property ShowHint;
  60.     property Transparent;
  61.     property Visible;
  62.     property WordWrap;
  63.  
  64.     property OnClick;
  65.     property OnDblClick;
  66.     property OnDragDrop;
  67.     property OnDragOver;
  68.     property OnEndDrag;
  69.     property OnMouseDown;
  70.     property OnMouseMove;
  71.     property OnMouseUp;
  72.   end;
  73.  
  74. procedure Register;
  75.  
  76. implementation
  77.  
  78.  
  79. constructor TBorderlabel.Create;
  80. begin
  81.    inherited Create(AOwner);
  82.    FBWidth := 1;
  83.    FShow := true;
  84.    canvas.pen.width := FBWidth;
  85.    canvas.pen.color := clBlack    ;
  86. end;
  87.  
  88.  
  89. procedure TBorderLabel.Paint;
  90. begin
  91.   inherited paint;
  92.   if Fshow then
  93.      Canvas.Rectangle(0,0,Width,Height);
  94. end;
  95.  
  96. procedure Tborderlabel.SetColor(value : Tcolor);
  97. begin
  98.   FBColor := value;
  99.   canvas.pen.color := value;
  100.   paint;
  101. end;
  102.  
  103. procedure Tborderlabel.SetWidth(value : integer);
  104. begin
  105.   FBWidth := value;
  106.   Canvas.Pen.Width := Value;
  107.   paint;
  108. end;
  109.  
  110. procedure Tborderlabel.Show(value : boolean);
  111. begin
  112.   Fshow := value;
  113.   paint;
  114. end;
  115.  
  116. procedure Tborderlabel.SetStyle(value : TPenStyle);
  117. begin
  118.   Canvas.Pen.Style := value;
  119.   paint;
  120. end;
  121.  
  122. procedure Register;
  123. begin
  124.   RegisterComponents('Standard', [TBorderLabel]);
  125. end;
  126.  
  127. end.
  128.