Problème picture dans active X
Le
Marc
Bonjour,
Je suis en train de créer un Active X.
En effet, cet active x est un bouton, j'ai plusieurs images qui changent au
grès des actions.
Normal, survol, click, disabled .
Cela fonctionne très bien.
Juste un problème, quand le control est dans un programme et que je demande
au prog de changer les images, donc en mode exécution, vb6 répond
"Utilisation incorrecte de la propriété", pourtant elle est publique.
Avez vous une idée, je joint un bout de code pour montrer ce que j'ai fait.
Public Property Get PictureN() As Picture
On Error Resume Next
Set PictureN = Image1.Picture
End Property
Public Property Set PictureN(ByVal NewImage1 As Picture)
On Error Resume Next
Image1.Picture = NewImage1
PropertyChanged "PictureN"
Image1.Height = UserControl.Height
Image1.Width = UserControl.Width
Label1.Left = (UserControl.Width - Label1.Width) / 2
Label1.Top = (UserControl.Height - Label1.Height) - (50)
End Property
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
On Error Resume Next
Set PictureN = PropBag.ReadProperty("PictureN", Image1.Picture)
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
On Error Resume Next
PropBag.WriteProperty "PictureN", PictureN
End Sub
Par avance merci
Marc
Je suis en train de créer un Active X.
En effet, cet active x est un bouton, j'ai plusieurs images qui changent au
grès des actions.
Normal, survol, click, disabled .
Cela fonctionne très bien.
Juste un problème, quand le control est dans un programme et que je demande
au prog de changer les images, donc en mode exécution, vb6 répond
"Utilisation incorrecte de la propriété", pourtant elle est publique.
Avez vous une idée, je joint un bout de code pour montrer ce que j'ai fait.
Public Property Get PictureN() As Picture
On Error Resume Next
Set PictureN = Image1.Picture
End Property
Public Property Set PictureN(ByVal NewImage1 As Picture)
On Error Resume Next
Image1.Picture = NewImage1
PropertyChanged "PictureN"
Image1.Height = UserControl.Height
Image1.Width = UserControl.Width
Label1.Left = (UserControl.Width - Label1.Width) / 2
Label1.Top = (UserControl.Height - Label1.Height) - (50)
End Property
Private Sub UserControl_ReadProperties(PropBag As PropertyBag)
On Error Resume Next
Set PictureN = PropBag.ReadProperty("PictureN", Image1.Picture)
End Sub
Private Sub UserControl_WriteProperties(PropBag As PropertyBag)
On Error Resume Next
PropBag.WriteProperty "PictureN", PictureN
End Sub
Par avance merci
Marc

Poser une question


peut être faut il créer une autre propriete sans le type picture ???
- www.gelase.org
"Marc"
ImageList1.ListImages(1).Picture que j'ai le message d'erreur, en fait je
voudrait que mon controle se comporte comme le controle Image1.picture =
ImageList1.ListImages(1).Picture.
"Marc"
seule eu cours de l'exécution, comment peut on la passer en écriture ?
Par avance merci.
Marc a écrit :
Dans le code de ton ActiveX, la propriété s'appelle PictureN, essaie :
Set BaButton1.PictureN = ImageList1.ListImages(1).Picture
en faisant bien précéder l'affectation par Set
--
Cordialement,
Jacques.