Probleme fonction changement image [Résolu]

Signaler
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012
-
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012
-
Bonjour,

Voila le probleme, je fait une petite appli et je voudrai pouvoir
changer l'image d'un control image mais comme il faut que je le fasse
quelques dizaines de fois je me suis dit qu'il serait preferable de
faire une fonction mais je ne sais pas comment faire (je voudrai faire
quelque chose qui ressemble a ca :

public function nom_de_la_fonction(variable) 'la variable etant le nom de mon control

variable.picture = ........................

end function



mais bien entendu le "variable.picture" nest pas correct

donc si quelqu'un pouvait m'aider

merci

6 réponses

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
salut,

la solution de Kenji (que je salue au passage) devait donc te mettre sur la piste....

(voir ByVal / ByRef)










Option Explicit





Private Sub Form_Load()

Call ChangePic(Me, "c:\tmp.jpg")



' bien préciser le nom de la Form appelante si fonction PUBLIC

Call ChangePic(Form1.Image1, "c:\tmp.jpg")

End Sub







' PUBLIC si appelée par plusieurs Forms, donc à mettre dans un module

Public Sub ChangePic(ByRef Obj As Object, ByVal sPath As String)

' chemin (pour éviter un "C:\\mon_image.jpg" sous W9x"

sPath = Replace (sPath, "\", "")



' teste et accepte multi-type BYREF

If (TypeOf Obj Is PictureBox) Or (TypeOf Obj Is Image) Or (TypeOf Obj Is Form) Then

Obj.Picture = LoadPicture(sPath)

Else

Err.Raise vbObject, , "Object invalide"

End If

End Sub





<small> Coloration
syntaxique automatique [AFCK]</small>



++

PCPT [AFCK]
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 152 internautes nous ont dit merci ce mois-ci

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
74
Salut
Je n'ai pas tout compris ...
Il faudrait nous dire de quel type est ton "control image", moi, ça ne me dit rien.
Si, par exemple, ton objet est une PictureBox :
maPictureBox.Picture = LoadPicture("C:\mon répertoire\mon fichier image.BMP")

Si ça n'a pas répondu à ta "question", repose la en précisant bien :
- Vers quel composant/objet tu veux modifier ton image
- Où se trouvent tes images (fichier, collection, ImageList ...)

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage. (Socrate)
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
42
salut,

précise également le langage stp!!
Messages postés
3172
Date d'inscription
dimanche 15 février 2004
Statut
Membre
Dernière intervention
9 avril 2017
32
Salut,

En VB4-5-6:
Public Sub ChangePic(ByVal Pic As PictureBox)
Pic.Picture = ........................
End Sub

Bien sûr, comme l'a dis Jack et AFCK, faut présiser d'aventage ce que tu veut faire

Kenji
<hr size="2" width="100%">
Merci de cliquer sur "Réponse acceptée" si une réponse vous convient.
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012

Bonjour,
excusez moi je n'ai pas été clair dutout donc je reprend. Je suis avec vb6 et je veut changer l'image d'un objet 'image' (la meme chose qu'un picturebox) je peut donc faire
MonImage.Picture=LoadPicture("C:\mon répertoire\mon fichier image.BMP") ce qui fonctionne tres bien mais le probleme est qu'il faut que je fasse cette manipulation plusieurs fois et je me disai qu'il serait preferable d'utiliser une fonction telle que celle-ci

public function nom_de_la_fonction(variable) 'la variable de mon image (ou picturebox)
variable.picture = LoadPicture("C:\mon répertoire\mon fichier image.BMP")
end function
mais le probleme est que vb prend n'accepte pas le "variable.picture" et je voulais savoir s il existait un moyen de le remplacer par exemple tel que
... with variable
.picture=......
end with

merci de vos reponse et j'espere avoir ete plus clair
merci
Messages postés
36
Date d'inscription
mercredi 8 novembre 2000
Statut
Membre
Dernière intervention
22 novembre 2012

Merci beaucoup pour toutes ces reponses

et bonne prog.