1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| unit EditeurArrondi;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, StdCtrls, LResources, Forms, Controls, Graphics, Dialogs, BoutonArrondi;
type
TEditeurCoinRond = class(TBoutonCoinRond)
private
Editeur: TEdit;
protected
procedure Paint; override;
public
constructor Create(AOwner: TComponent); override;
destructor Destroy; override;
procedure MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
procedure MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer); override;
published
property OnMouseDown;
property OnMouseUp;
end;
procedure Register;
implementation
procedure Register;
begin
{$I editeurarrondi_icon.lrs}
RegisterComponents('ChP',[TEditeurCoinRond]);
end;
constructor TEditeurCoinRond.Create(AOwner: TComponent);
begin
inherited Create(AOwner);
Actif:= False;
Editeur:= TEdit.Create(AOwner);
Editeur.Parent:= TWinControl(Parent);
Editeur.BorderStyle:= bsNone;
Editeur.AutoSize:= False;
Editeur.Font.Style:= [fsBold];
end;
destructor TEditeurCoinRond.Destroy;
begin
// Editeur.Free;
inherited Destroy;
end;
procedure TEditeurCoinRond.Paint;
begin
inherited Paint;
Editeur.Visible:= Visible; // Ça, ne ne fonctionne que quand je mets visible à vrai
Editeur.Left:= Left+16;
Editeur.Top:= Top+4;
Editeur.Width:= Width-32;
Editeur.Height:= Round((Height-8)*0.8);
Editeur.Font.Size:= Round((Height-8)*0.5);
end;
procedure TEditeurCoinRond.MouseDown(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
begin
inherited MouseDown(Button, Shift, X, Y);
end;
procedure TEditeurCoinRond.MouseUp(Button: TMouseButton; Shift: TShiftState;
X, Y: Integer);
begin
inherited MouseUp(Button, Shift, X, Y);
end;
end. |
Partager