cs_AgLS
Messages postés27Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention22 avril 2008
-
3 déc. 2006 à 15:08
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
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
cs_AgLS
Messages postés27Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention22 avril 2008 3 déc. 2006 à 15:57
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
cs_AgLS
Messages postés27Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention22 avril 2008 3 déc. 2006 à 16:18
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
cs_AgLS
Messages postés27Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention22 avril 2008 3 déc. 2006 à 17:25
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
cs_AgLS
Messages postés27Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention22 avril 2008 3 déc. 2006 à 22:58
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
cs_AgLS
Messages postés27Date d'inscriptionlundi 7 février 2005StatutMembreDernière intervention22 avril 2008 3 déc. 2006 à 23:05
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).
BruNews
Messages postés21041Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 4 déc. 2006 à 02:35
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.