lelahel08
Messages postés36Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention24 octobre 2005
-
19 oct. 2005 à 10:59
Niki2001
Messages postés85Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention17 décembre 2005
-
22 oct. 2005 à 13:11
Bonjour a tous !
Voilà je voudrais changer la couluer de différents composant et plutot que de créé différentes fonction avec différents cast je voudrais faire quelque chose comme ceci :
TControl(Sender).Color := clRed;
Mais bien que la propriété Color de TControl existe il n'y accède pas .... elle est protected mais je devrais l'atteindre pourtant ....
lelahel08
Messages postés36Date d'inscriptiondimanche 10 août 2003StatutMembreDernière intervention24 octobre 2005 19 oct. 2005 à 14:09
Impossible ca !!!
Je ne sais pas quel est le type du composant et le but de ma question
est justement d'éviter 36 methode pour gérer 36 type de composant, et
de tout centraliser.
TComponent(Sender).Color => n'existe pas
Sender.Color => non plus
et faire des test du style
TEdit(Sender).Color
TMaskEdit(Sender).Color
c'est lourd ! actuellemnt si je rentre dans un TEdit je lance :
procedure TfR.ChgColorEnter(Sender: TObject);
begin
if TPageControl((TEdit(Sender)).Parent.Parent).Name = 'tsAgence' then
TEdit(Sender).Color := ColorSaisiPln
end;
quand je rentre dans un maskedit je lance
procedure TfR.ChgColorEnterMask(Sender: TObject);
begin
if TPageControl((TMaskEdit(Sender)).Parent.Parent).Name = 'tsAgence' then
TMaskEdit(Sender).Color := ColorSaisiPln
end;
... lourd ....
le but final :
procedure TfR.ChgColorEnter(Sender: TObject);
begin
if TPageControl(Sender.Parent.Parent).Name = 'tsAgence' then
Niki2001
Messages postés85Date d'inscriptionsamedi 6 novembre 2004StatutMembreDernière intervention17 décembre 20051 22 oct. 2005 à 13:11
Cé que tu demandes est, à mon sens, impossible. Selon les compsants, la propriété Color n'est pas implémentée, donc inutilisable. La seule solution est donc, à priori, de faire 36 tests, comme tu dis.