radsie
Messages postés37Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention 2 décembre 2010
-
21 déc. 2008 à 15:57
radsie
Messages postés37Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention 2 décembre 2010
-
21 déc. 2008 à 17:07
Bonjour a tous
J'ai realisé une petite fonction me permettant de redimentioner une image à l'aide d'un controle Image.
Cette fonction m'est bien utile car j'utilise beaucoup les images dans mon logiciel.
=> 1ere obligation : Pas de fichier OCX ...
=> 2eme obligation : Une fonction Public reutilisable par toutes les feuilles.
La syntaxe de ma function est la suivante :
Public Function RedimentionneImage(NomForm As Form, NomFichierImage As String, LargeurImage As Integer, HauteurImage As Integer)
NomForm correspond a la feuille ou se trouve le controle Image ou je vais afficher l'image.
NomFichierImage contient le chemin complet de l'image ( Ex : "C:\NomLogiciel\image.JPG" )
LargeurImage correspond à la largeur du controle Image ou je vais afficher l'image.
HauteurImage correspond à la hauteur du controle Image ou je vais afficher l'image.
Mon probleme est que je ne sais pas comment faire pour que je puisse passer dans ma Function le nom du controle Image de la feuille
ou je vais y mettre l'image redimentionnée !!!
Exemple : Le controle Image se nome "ImageMateriel"
Ce que je souhaiterais faire c'est utiliser dans ma function la syntaxe suivante :
NomForm.?????.picture=loadpicture(NomFichierImage)
Actuellement je fonctionne avec ceci :
NomForm.ImageMateriel.picture=loadpicture(NomFichierImage)
MOUSSAOUIAAZIZ
Messages postés48Date d'inscriptionsamedi 5 août 2006StatutMembreDernière intervention 9 novembre 2009 21 déc. 2008 à 16:39
Salut;Si j’ai bien comprend ta question la solution et de déclarer la fonction comme caPublic Function RedimentionneImage(NomImage As Image, NomFichierImage As String, LargeurImage As Integer, HauteurImage As Integer)<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 21 déc. 2008 à 16:43
Si le seul interet de passer la form en paramètre dans ta fonction est d'accèder au controle image, si tu n'utilise pas ta form pour autre chose dans ta fonction, il n'y a aucune utilité à passer la form en paramètre.
Ce qui t'interesse est le controle image sur le lequel tu vas travailler. C'est lui que tu dois passer en paramètre.
Ce qui résoud du coup le problème du nom, puisque tu n'en a plus besoin, tu accède directement au controle par le paramètre.
Et ta fonction devient du coup générique puisqu'elle marchera quelque soit la form et quelque soit le nombres d'images à traiter par form. Il suffira de l'appelée une fois par image.
radsie
Messages postés37Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention 2 décembre 2010 21 déc. 2008 à 16:57
Genial , super Genial !
Ca marche !!! Je te remercie MOUSSAOUIAAZIZ
Je mets tout ca au propre et je vais mettre ma Function sur le Forum !
PS : En plus c'est balo , j'avais deja essayé cette solution , à part que lors de l'appel de ma procedure je ne mettais pas
NomForm devant NomImage pour faire NomForm.NomImage et donc ca deconnait !
radsie
Messages postés37Date d'inscriptionmardi 24 août 2004StatutMembreDernière intervention 2 décembre 2010 21 déc. 2008 à 17:07
Oui , Casy , maintenant que je sais faire appel directement à l'image par NomForm.NomImage en effet
je n'ai plus besoin de passer le parametre NomForm , c'est exact
Merci encore , maintenant j'ai du taf , faut que je finisse ca pour demain ca urge !!!