Ajouter un Effet manuellement à un custom TPanel
Bonjour j'ai le code suivant :
Code:
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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121
| unit MonPanel;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Ani, FMX.Effects;
type
TShadowEffect = class(TFilterEffect)
end;
type
TbtnEditerClickDelegate = procedure(iCleCommande : Integer) of object;
TbtnSupprimerClickDelegate = procedure(iCleCommande : Integer) of object;
TMonPanel = class(Tpanel)
lblDesignation : TLabel;
btnEditer, btnSupprimer : TButton;
procedure MonPanelResize(Sender : TObject);
procedure BtnEditerClick(Sender : TObject);
procedure BtnSupprimerCLick(Sender : TOBject);
private
BtnEditerClickDelegate : TbtnEditerClickDelegate;
BtnSupprimerClickDelegate : TbtnSupprimerClickDelegate;
F_iCleCommande : Integer;
published
property OnBtnEditerClick : TbtnEditerClickDelegate write BtnEditerClickDelegate;
property OnBtnSupprimerClick : TbtnSupprimerClickDelegate write BtnSupprimerClickDelegate;
public
constructor CustomCreate(Owner : TComponent; iCleCommande : Integer; sDesignation : String);
property CleCommande : Integer read F_iCleCommande;
end;
implementation
constructor TMonPanel.CustomCreate(Owner: TComponent; iCleCommande: Integer; sDesignation: String);
begin
inherited Create(Owner);
Parent := Owner As TFmxObject;
OnResize := MonPanelResize;
F_iCleCommande := iCleCommande;
lblDesignation := TLabel.Create(Self);
With lblDesignation do
begin
Parent := Self as TFmxObject;
Text := sDesignation;
end;
btnEditer := TButton.Create(Self);
with btnEditer do
begin
Parent := Self as TFmxObject;
OnClick := BtnEditerClick;
StyleLookUp := 'composetoolbutton';
end;
btnSupprimer := TButton.Create(Self);
with btnSupprimer do
begin
Parent := Self as TFmxObject;
OnClick := BtnSupprimerClick;
StyleLookUp := 'trashtoolbutton';
end;
Height := 30;
Margins.Bottom := 15;
StyleLookup := 'rectangle1style';
lblDesignation.Align := TAlignLayout.Center;
end;
procedure TMonPanel.BtnEditerClick(Sender: TObject);
begin
if Assigned(BtnEditerClickDelegate) then
BtnEditerClickDelegate(F_iCleCommande);
end;
procedure TMonPanel.BtnSupprimerCLick(Sender: TOBject);
begin
if Assigned(BtnSupprimerClickDelegate) then
BtnSupprimerClickDelegate(F_iCleCommande);
end;
procedure TMonPanel.MonPanelResize(Sender: TObject);
begin
with btnSupprimer do
begin
Height := Self.Height;
Width := Height;
Position.X := Self.Width - Width;
Position.Y := 0
end;
with btnEditer do
begin
Width := Self.Height;
Height := Width;
Position.X := btnsupprimer.Position.X - Width;
Position.Y := 0
end;
With lblDesignation do
begin
Width := btnEditer.Position.X;
Height := Height;
Position.X := 0;
Position.Y := 0;
end;
end;
end. |
Je souhaiterais savoir comment ajouter un Effet du style TShadowEffect (par exemple..) à mon type TMonPanel ? Si quelqu'un à une piste.
Bonne après-midi,
En vous remerciant d'avance,
Bien Cordialement,