Problème de propriété dans un User Control [Résolu]

Signaler
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
-
Salut,


J' ai un UserControl (ctrl_X) avec une PictureBox sur laquelle est placé un label (lbl_Caption)
Problème : j' arrive pas à changer la propriété Caption au cours de l' éxécution.


ctrl_X.Caption="Nouvelle Caption" 
ne donne rien et le UC conserve sa Caption par défaut.
'
Voici le code du UC :


Const DefCaption = "Caption"
Dim v_sCaption As String


Private Sub UserControl_InitProperties()
    v_sCaption = DefCaption
End Sub


Public Property Get Caption() As String
    Caption = v_sCaption
End Property


Public Property Let Caption(m_Caption As String)
    v_sCaption = m_Caption
    PropertyChanged "Caption"
End Property


Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
    v_sCaption = PropBag.ReadProperty("Caption", DefCaption)
    UserControl.lbl_Caption.Caption = v_sCaption
End Sub


Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
    Call PropBag.WriteProperty("Caption", v_sCaption, DefCaption)
End Sub


Merci de trouver pourquoi...


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />

6 réponses

Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
30
Salut,

Il faut que tu remplace v_sCaption par taLalel.Caption sinon c'est sur que rien va changer.

Pour la 2nd, c'est normal, il faut choisir la couleur à l'aveuglette.






__________
Kenji

(


Nouveau forum VBA/Office
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
107
pour le premier problème, ca paraît évident non ??? Tu ne modifie pas le caption de ton label, tu ne fais que le stocker dans ta variable m_Caption ! (le readproperty n'est déclenché que lors du chargement de la form dans l'IDE VB !).
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Re-salut,
En attente d' une réponse à la première question, en voici une deuxième.
Après avoir ajouté vb6.exe.Manifest. dans ...\Microsoft Visual Studio\VB98.
Manifestement ma palette a disparue et du coup pour les proprietes Color l' onglet
Palette est vide et je n' ai plus que les couleurs System.
Est-ce normal ?
Merci .

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Salut Charles et Salut DS,


Call PropBag.WriteProperty("Caption", lbl_Caption, DefCaption)
n' a rien donné.


> Est-ce que j' ai bien interprèté vos réponses ?


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
ça y' est j' ai compris !

Public Property Let Caption(m_Caption As String)
    lbl_Caption = m_Caption
    PropertyChanged "Caption"
End Property

Merci à vous deux

<hr />I LIKE TO BE HERE WHEN I CAN
<hr />
Messages postés
1883
Date d'inscription
samedi 1 avril 2006
Statut
Membre
Dernière intervention
20 novembre 2007
2
Re-Salut,

Question Palette, il y' a bien une Propriété, mais comment fait-on si on veut en choisir une ?


Re-Merci.


<hr />

I LIKE TO BE HERE WHEN I CAN


<hr />