A noter que avec le code de delphiprog, une fois le StaticText passé en True ou False : rien ne se
passe :) la propriété change parfaitement mais aucune action ne se
déroule. (logique ya pas de procedur liée a la propriété !)
Si tu en veux une fait :
....
<code>type
TStaticText = class (StdCtrls.TStaticText)
private
FActive: Boolean;
procedure SetActive(Value: Boolean);
published
property Active: boolean read FActive write SetActive default False;
end;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Label1: TLabel;
Button2: TButton;
StaticText1: TStaticText;
private
{ Déclarations privées }
public
{ Déclarations publiques }
end;
implementation
{$R *.dfm}
</code>
Procedure StaticText1.SetActive(Value: Boolean);
begin
if Factive=Value then exit; // pour eviter de mettre "true" quand c deja "true" (idem avec false bien sur)
FActive := Value;
if FActive then
// code si actif
else
// code si non actif
end; { du begin }
...
end.
je
viens de faire de tete mais je pense ne pas avoir fait d'erreurs (apres
5 relectures ...). Comme tu le comprends, a chaque chagement d'etat de
ton StaticText, la procedure SetActive est executée.
Si tu as plusieurs statictext... je pense qu'il faudrait declarer la procedure en PUBLIC et non PRIVATE, je pense :p
ET comme le dit DelphiProg, tu peux toujours t'en remettre a la méthode
classique de modif le compo pour faire le tiens a partir d'un
TStaticText.
Voila !
a+