Bonjour a tous,
Je cale sur l'utilisation des resources en C++/CLI sous VS2010.
Pas mal de doc en VB ou C# mais a chaque fois par utilisation de Stream(s).
Je voudrai betement utiliser une image de presentation dans un layout, Pour cela
_ dans ma solution (.sln) et dans l'IDE
_ je crée un UserControl (C++ Control) que je viens rattacher a un evenement (genre click bouton) pour ouvrir cette fenetre. UserControl mis dans un répertoire Layout qui contient tous les usercontrols de ma solution.
_ dans ce UserControl, je voudrai afficher une image, (genre le logo du projet). Dans le [Design] je crée un PictureEdit (chez DevExpress) ou picturebox plus classique
_ lors du chargement je voudrai lier une image a la picturebox mais sans utiliser un chargement de fichier image sur le disque quelconque.
_ j'ai trouvé 3 solutions dans les divers forums, docs et tutoriaux :
1) celle de Nico
en mettant dans Project/Properties/Linker/Input/Embed Managed resource File le lien au fichier Image : F:\Developpement\Resources\Theme\Logo v1.png
Code : Sélectionner tout - Visualiser dans une fenêtre à part this->pictureEdit1->Image = Image::FromStream(Reflection::Assembly::GetExecutingAssembly()->GetManifestResourceStream("splashScreen.png"));
ca ok ca fonctionne mais il faut aller dans le "Solution" Property Pages et les options incomprehensibles :-)
2) les deux autres qui ne fonctionnent pas :
en ajoutant un images.resx dans ma solution
et en specifiant poru l'image voulue (splashScreen)
Persistence = Linked at compile time
ou encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Aucune des deux ne charge l'image.
Code : Sélectionner tout - Visualiser dans une fenêtre à part 
2
3
Mes deux questions sont simple sans doute mais je ne comprends pas le systeme des resources dans C++/CLI :
a) quelles sont les differences entre chaque systeme de chargement de resource ?
b) comment utiliser un fichier images.resx ou sont contenues toutes les images (pour les boutons, les affichages, les logos etc..) et charger dans un composant les images voulues directement dans ce fichier images.resx.
Image.resx qui serait lui meme lié a l'executable ou dans une dll.
c) dans le pictureedit, si je mets la propriete Image au nom du fichier, il ne se passe rien (sans doute parceque je perds les liens avec le repertoire Debug).
Je veux bien un coup de main ou une explication du systeme car la je m'y perds. Les deux fichiers jpg joints montrent ma solution

 

 
		
		 
         
 


 resources VS2010 : resXResourceSet() ou ComponentResourceManager() ou GetManifestResourceStream() ?
 resources VS2010 : resXResourceSet() ou ComponentResourceManager() ou GetManifestResourceStream() ?
				 Répondre avec citation
  Répondre avec citation
Partager