unit
Unit1;
interface
uses
Winapi
.
Windows, Winapi
.
Messages, System
.
SysUtils, System
.
Variants, System
.
Classes, Vcl
.
Graphics,
Vcl
.
Controls, Vcl
.
Forms, Vcl
.
Dialogs, Vcl
.
StdCtrls;
type
TGroupBox =
class
(Vcl
.
StdCtrls
.
TGroupBox)
private
procedure
Paint; override;
public
TextColor : TColor;
BorderColor : TColor;
constructor
Create(AOwner : TComponent); override;
end
;
TForm1 =
class
(TForm)
GroupBox1: TGroupBox;
btRed: TButton;
btBlue: TButton;
btGreen: TButton;
procedure
btRedClick(Sender: TObject);
procedure
btBlueClick(Sender: TObject);
procedure
btGreenClick(Sender: TObject);
private
public
end
;
var
Form1: TForm1;
implementation
{$R *.dfm}
constructor
TGroupBox
.
Create(AOwner : TComponent);
begin
inherited
;
TextColor := clBlack;
BorderColor := clBlack;
end
;
procedure
TGroupBox
.
Paint;
begin
Self
.
Canvas
.
Font
.
Color := TextColor;
Self
.
Canvas
.
Pen
.
Color := BorderColor;
Self
.
Canvas
.
Rectangle(
0
,
0
,self
.
Width,self
.
Height);
end
;
procedure
TForm1
.
btBlueClick(Sender: TObject);
begin
GroupBox1
.
TextColor := clBlue;
GroupBox1
.
BorderColor := clBlue;
GroupBox1
.
Repaint;
end
;
procedure
TForm1
.
btGreenClick(Sender: TObject);
begin
GroupBox1
.
TextColor := clGreen;
GroupBox1
.
BorderColor := clGreen;
GroupBox1
.
Repaint;
end
;
procedure
TForm1
.
btRedClick(Sender: TObject);
begin
GroupBox1
.
TextColor := clRed;
GroupBox1
.
BorderColor := clRed;
GroupBox1
.
Repaint;
end
;
end
.