Masquer les composants d'une TForm
Bonjour,
J'ai 1 petite Form que je destine à la saisie de données; je souhaite la rendre capable d’acquérir plusieurs type de données, mais 1 seul à la fois.
A cet effet, je souhaite y déposer plusieurs composants:
dont seul celui nécessaire à la saisie sera visible. Un paramètre est transmis à cette forme pour indiquer le type de données à acquérir et donc quel composant spécialisé doit être visible.
Cette form dispose aussi de 2 TBitBtn pour validation ou abandon.
Je pensais utiliser FinComponent pour cacher les composants (sauf les TBitBtn):
Code:
1 2
| for i:=0 to ValueEdit.ComponentCount-1 do
if not (ValueEdit.Components(i) is TBitBtn) then ValueEdit.Components(i).????????? |
Mais TComponent ne dispose pas de méthode ou de propriété permettant de cacher 1 composant "générique".
Il semble possible d'obtenir la classe d'un composant par
Code:
ValueEdit.Components(i).ToString
mais je ne vois pas comment "variabiliser" la commande pour masquer le composant: les exemples de FindComponent pré-typent (terme incorrect sûrement) systématiquement l'instruction afin d'atteindre les propriétés:
Code:
TEdit[Component].Visible:=false
là où
Code:
monTypedeCompo[Component].Visible:=false;
me suffirait...
Quelqu'un a 1 idée pour y arriver? (et m'éviter une cascade de if :aie:)
Merci.