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 79 80 81 82 83 84 85 86 87 88 89
|
unit FMX.Obj_ListeHorizontale;
interface
uses
System.SysUtils, System.Classes, FMX.Types, FMX.Controls, FMX.Layouts, FMX.Objects,FMX.StdCtrls,
FMX.Gestures;
type
TListeHorizontale = class(TScaledLayout)
FRect_Gauche, FRect_Centre, FRect_Droite : TRectangle;
FLb_Gauche, FLb_Centre, FLb_Droite : TLabel;
FGesture : TGestureManager;
FTextes : TStrings;
private
procedure Resize; override;
{ Déclarations privées }
protected
{ Déclarations protégées }
public
{ Déclarations publiques }
constructor Create(AOwner : Tcomponent); override;
destructor Destroy; override;
published
{ Déclarations publiées }
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Plus', [TListeHorizontale]);
end;
{ TListeHorizontale }
constructor TListeHorizontale.Create(AOwner: Tcomponent);
begin
inherited;
Self.Width:=200;
Self.Height:=60;
FRect_Gauche:=TRectangle.Create(Self);
FRect_Centre:=TRectangle.Create(Self);
FRect_Droite:=TRectangle.Create(Self);
FRect_Gauche.Parent:=Self;
FRect_Centre.Parent:=Self;
FRect_Droite.Parent:=Self;
FRect_Gauche.Align:=TAlignLayout.FitLeft;
FRect_Gauche.Width:=Self.Width*0.28;
FRect_Droite.Align:=TAlignLayout.FitRight;
FRect_Droite.Width:=Self.Width*0.28;
FRect_Centre.Align:=TAlignLayout.Center;
FLb_Gauche:= TLabel.Create(Self);
FLb_Centre:= TLabel.Create(Self);
FLb_Droite := TLabel.Create(Self);
FLb_Gauche.Parent:=Self;
FLb_Centre.Parent:=Self;
FLb_Droite.Parent:=Self;
FLb_Gauche.Align:=TAlignLayout.Center;
FLb_Centre.Align:=TAlignLayout.Center;
FLb_Droite.Align:=TAlignLayout.Center;
FTextes := TStrings.Create;
FLb_Gauche.Text:='*';
FLb_Centre.Text:='*';
FLb_Droite.Text:='*';
end;
destructor TListeHorizontale.Destroy;
begin
// FTextes.Free;
inherited;
end;
procedure TListeHorizontale.Resize;
begin
if Assigned(FRect_Gauche) then
FRect_Gauche.Width:=Self.Width*0.28;
if Assigned(FRect_Droite) then FRect_Droite.Width:=Self.Width*0.28;
end;
end. |
Partager