cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 février 2013
-
21 nov. 2005 à 12:18
cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 février 2013
-
21 nov. 2005 à 12:25
Bonjour,
Je suis en train de réaliser une boite d'options et lorsque je quitte ma fenetre, je parcours l'ensemble des items de celle ci et j'enregistre dans la base de registre (les données que je veux sauvegardé ont la propriété "Tag" définissant la clé du registre).
lorsque je restitue les résultats, je fais le chemin inverse sauf que certains objets, c'est dans l'attribut "Value", d'autres dans "text", et encore d'autres dans "Caption". Ma question est : "Y'a-t-il un moyen de retrouver le type d'objet ?
Private Sub Cmd_Appliquer_Click()
Dim mon_shape As Variant
For Each mon_shape In Me
If mon_shape.Tag <> "" Then
SaveSetting "ART", "Options", mon_shape.Tag, mon_shape
End If
Next mon_shape
End Sub
Private Sub Form_Load()
Dim mon_shape As Variant
For Each mon_shape In Me
If mon_shape.Tag <> "" Then
nom_cle = mon_shape.Tag
Select Case VarType(variable)' <- c'est là que je cherche
Case 1
mon_shape.Value = GetSetting("ART", "Options", nom_cle)
Case 2
mon_shape.Text = GetSetting("ART", "Options", nom_cle)
Case 3
mon_shape.Caption = GetSetting("ART", "Options", nom_cle)
End If
End If
Next mon_shape
End Sub
cs_Talere
Messages postés102Date d'inscriptionvendredi 29 mars 2002StatutMembreDernière intervention14 février 2013 21 nov. 2005 à 12:25
En fait, j'ai trouvé une astuce, il suffit de déclarer mon shape en "object" et non en "variant", ce qui permet d'utiliser directement la propriété par défaut et non l'assignation directe:
Dim mon_shape As Object
For Each mon_shape In Me
If mon_shape.Tag <> "" Then
mon_shape = GetSetting("ART", "Options", mon_shape.Tag)
End If
Next mon_shape