Attribuer une image à une picture box [Résolu]

Messages postés
27
Date d'inscription
lundi 7 février 2005
Dernière intervention
22 avril 2008
- - Dernière réponse : BruNews
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
- 4 déc. 2006 à 02:35
Bonjour,
J'utilise Microsoft Visual Studio 2005. J'ai crée une interface graphique avec les Windows Forms, dans cette interface graphique il y a un élément de windows form appellé PictureBox.
J'aimerais par une ligne de code changer l'image de cette picturebox.
Voici le code que j'ai déjà écris: où ZoneImageD est le 'name' de ma picturebox
this
->ZoneImageD->Image =
... ;

Mais je ne sais pas ce que je dois mettre à la place des ...
Voilà, je vous ai tout dit. Je vous remercie d'avances pour vos réponses.
Je suis sur que c'est tout con mais comme je débute ...
<hr /> AgLS

Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
3
Merci
As tu essayé :

cli::safe_cast<System::Drawing::Image^ >(Image::FromFile(L"fichier.bmp"));

Dire « Merci » 3

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

Codes Sources a aidé 101 internautes ce mois-ci

Commenter la réponse de yann_lo_san
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
0
Merci
Si tu utilises gdi+, il faut fournir un objet Image :
Image monBitmap(L"monFichier.bmp");
this->ZoneImageD->Image = monBitmap;

Mais j'utilise encore VS-2003, donc c'est peut etre different !
Commenter la réponse de yann_lo_san
Messages postés
27
Date d'inscription
lundi 7 février 2005
Dernière intervention
22 avril 2008
0
Merci
J'ai testé mais ca marche pas, en revanche j'ai trouvé cette ligne de code qui a été ajoutée automatiquement par Visual Studio lorsque j'ai définis l'image dans le volet propriété:
this

->ZoneImageD->Image = (cli::
safe_cast<System::Drawing::Image^ >(resources->GetObject(L
"ZoneImageD.Image")));
mais là, il met l'image dans le fichier ressource puis il va la charcher dans le fichier ressource.
Je ne sais pas comment modifier cette ligne pour pouvoir insérer un fichier qui se situe sur le disque(ex: JA.bmp).
Par la même occasion, je ne comprend pas ce que vien faire le L ici. Et comment faire pour mettre une variable de type String à la place du nom de l'image.
Si quelqu'un trouve la solution, dite le moi.
Merci d'avance 
<hr /> AgLS
Commenter la réponse de cs_AgLS
Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Dernière intervention
23 janvier 2016
0
Merci
Le L"" veut dire UNICODE (gdi+)

essayes :
System::Drawing::Image^
monBitmap(L"monFichier.bmp");
Commenter la réponse de yann_lo_san
Messages postés
27
Date d'inscription
lundi 7 février 2005
Dernière intervention
22 avril 2008
0
Merci
Ca marche toujour pas, si je met monbitmap il me dit que ca va pas alors j'ai remplacé par bitmap et il reste qu'une seule erreur qui est:
error C2275: 'System::Drawing::Image' : utilisation non conforme de ce type comme expression

J'ai mis comme ligne de code la suivante:
this

->ZoneImageD->Image = System::Drawing::Image^ Bitmap(L
"c:\\JA.bmp");
Peut être qu'a force de persévérer on y arrivera. lol

<hr /> AgLS
Commenter la réponse de cs_AgLS
Messages postés
27
Date d'inscription
lundi 7 février 2005
Dernière intervention
22 avril 2008
0
Merci
S'il vous plait y aurais pas quelqu'un qui aurait une solution?
dsl de mon impatience c'est mon dernier problème avant de pouvoir faire la relase de mon premier programme en C++.
Je rappelle que mon but est de charger une image du disque dans un PictureBox grace à une variable de type STRING contenant le chamin d'accès au fichier.
J'utilise Visual Studio 2005 et le composant PictureBox de Windows Forms

<hr /> AgLS
Commenter la réponse de cs_AgLS
Messages postés
27
Date d'inscription
lundi 7 février 2005
Dernière intervention
22 avril 2008
0
Merci
Enfin ça marche ,à une exception près:
Tout d'abord un grand merci au personnes qui m'ont aidées, tout particulièrement à yann_lo_san ;-)
L'exception dont je vous parlait, c'est que dans mon code c'est une variable de type char qui doit venir à la place de "fichier.bmp".
Je compile sans problème, mais à l'exécution il me dit: Le chemin d'accès n'a pas une forme conforme, il faut savoir que j'ai du enlever le L pour pouvoir mettre le nom de ma variable.
Quelqu'un as une idée?
<hr /> AgLS
Commenter la réponse de cs_AgLS
Messages postés
27
Date d'inscription
lundi 7 février 2005
Dernière intervention
22 avril 2008
0
Merci
En fait j'ai trouvé, ca venait des antislashs il faut qu'ils soit doublés.
Donc ma question c'est: quelqu'un connait une fonction qui permet d'ajouter des \ à une chaine là ou on en as besoin ( \\  "  etc).

<hr /> AgLS
Commenter la réponse de cs_AgLS
Messages postés
21054
Date d'inscription
jeudi 23 janvier 2003
Dernière intervention
7 novembre 2014
0
Merci
Il n'y a aucun '\\' à ajouter dans une chaine, c'est seulement dans uns constante qu'il faut les doubler car le '\' est un caractère d'échappement (interprétation particulière du caractère suivant).
Comme d'hab on met la charrue avant les boeufs, l'interprété profond avant les bases du langage C.

ciao...
BruNews, MVP VC++
Commenter la réponse de BruNews

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.