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:
  • datepicker
  • mémo
  • spinedit

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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
TEdit[Component].Visible:=false
là où
Code : Sélectionner tout - Visualiser dans une fenêtre à part
monTypedeCompo[Component].Visible:=false;
me suffirait...

Quelqu'un a 1 idée pour y arriver? (et m'éviter une cascade de if )

Merci.