nit ColorBox;
interface
uses
Classes, Graphics, Controls, Windows;
type
TOnLeftBoxClick = procedure(Sender: TObject) of object;
TOnRightBoxClick = procedure(Sender: TObject) of object;
TColorBox = class(TGraphicControl)
private
FRgnL, FRgnR: TRect;
FOnLeftBoxSelect: TOnLeftBoxClick;
FOnRightBoxSelect: TOnRightBoxClick;
protected
procedure Paint; override;
procedure MouseDown(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer); override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
published
property OnBoxLClick: TOnLeftBoxClick
read FOnLeftBoxSelect write FOnLeftBoxSelect;
property OnBoxRClick: TOnRightBoxClick
read FOnRightBoxSelect write FOnRightBoxSelect;
end;
procedure Register;
implementation
constructor TColorBox.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Height:=33;
Width:=61;
end;
destructor TColorBox.Destroy;
begin
inherited Destroy;
end;
procedure TColorBox.Paint;
var cp: Integer;
begin
with Canvas do
begin
Pen.Color:=clBtnHighlight;
MoveTo(0, Height-1); LineTo(0, 0); LineTo(Width-1, 0);
Pen.Color:=clBtnShadow;
LineTo(Width-1, Height-1); LineTo(1, Height-1);
end;
cp:=Width div 2;
{–left area–}
FRgnL.TopLeft:=Point(4, 4);
FRgnL.BottomRight:=Point(cp-1, Height-3);
{–right box–}
FRgnR.TopLeft:=Point(cp+1, 4);
FRgnR.BottomRight:=Point(Width-4, Height-4);
{–left box–}
Canvas.Brush.Color:=$00B7CAF7;
Canvas.Rectangle(4, 4, cp-1, Height-4);
{–right box–}
Canvas.Brush.Color:=$00F4D5C1;
Canvas.Rectangle(cp+1, 4, Width-4, Height-4);
end;
procedure TColorBox.MouseUp(Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var p: TPoint;
begin
inherited MouseUp(Button, Shift, X, Y);
if Button <> mbLeft then Exit;
p:=Point(X, Y);
if PtInRect(FRgnL, p) thenĀ {–left box–}
begin
if Assigned(FOnLeftBoxSelect) then FOnLeftBoxSelect(Self);
Invalidate;
end
else if PtInRect(FRgnR, p) thenĀ {–right box–}
begin
if Assigned(FOnRightBoxSelect) then FOnRightBoxSelect(Self);
Invalidate;
end;
end;
procedure Register;
begin
RegisterComponents(‘Demo’, [TColorBox]);
end;
end.
Sumber : Mikrodata
4 Desember, 2007 pukul 4:33 am
contoh pemrograman delphi 7 yang memakai perintah save,edit,delete,hapus,refresh,dan search.beserta codenya
4 Desember, 2007 pukul 5:40 am
ada itu …
4 Desember, 2007 pukul 7:38 am
Minta contoh program delphi yang memakai struktur pengulangan untuk bilangan ganjil dan bilangan genap ya,please!!!
4 Desember, 2007 pukul 8:59 am
@ ridwan coba di ilmu komputer aja…
17 Oktober, 2008 pukul 6:53 am
nanya, da g code tuk bwt mp3 player…. almtnya dmn,,,,,,,,,,,,
30 Oktober, 2008 pukul 3:43 am
lupa nih ti coba search mp3 player delphi ada deh di google
29 November, 2008 pukul 8:58 am
brow tmn pren aq minta codenya buat program wartel dri delphi donk….. ble yaaaaa…… makasiii..
9 Desember, 2008 pukul 4:50 am
BOLEH TELP KE AKU AJA
17 Januari, 2009 pukul 1:54 am
contoh program aplikasi wartel gmn??
trus klo report ga bs tampil knp,pdhl settinganx dah bener…
14 Maret, 2009 pukul 4:27 am
interfaceY di tampilkan lebih oke deh….
12 Mei, 2009 pukul 4:05 am
tolong dong penjelasan fungsi-fungsi pd properties delphi……!please yah
24 September, 2009 pukul 8:52 pm
Hueay.ngantuk juga nih….
5 Oktober, 2009 pukul 8:19 am
kayaknya orangnya terlalu sibuk deh