Le premier site francophone dédié au développement Pocket PC

Comment inclure dans l'exe des ressources graphiques ?
Auteur
Stéphane Sibué
Date 28 février 2003
 
   


Introduction

Avec eVB il était possible d'afficher des images et d'utiliser des "icônes" pour les treeview et listview. Malheureusement ces images n'étaient pas incluses dans le programme lui même. Une mauvaise manipulation et votre programme ne fonctionnait plus. Pas glop !

Avec VB.NET ou C# vous avez la possibilité d'incorporer vos images dans le programme exécutable, il est ainsi plus "autonome" que ceux créés avec eVB !

Afficher un bitmap sur le fond d'une fenêtre, acte 1 scène 2

Nous allons prendre le même exemple que celui de l'article qui explique comment afficher un bitmap sur le fond d'une fenêtre. Dans ce précédent article on supposait que le bitmap était placé sagement dans le dossier "\My Documents" du Pocket PC. Je vous invite à le consulter pour vous rafraichir la mémoire.

Ce qui change est la manière d'inclure le bitmap dans le projet et ensuite la manière de le charger en mémoire. La façon de l'afficher (avec l'objet de type Graphics) reste identique (au moins ça).

Inclure le bitmap dans le projet

Grâce à VS.NET (Visual Studio .NET) cette opération est de loin la plus simple :

Etape 1

Effectuez un click droit dans la fenêtre "Solution Explorer" sur le dossier qui correspond au projet (dans l'exemple le projet est "TestRessources")

 


Etape 2

Choisissez dans le menu contextuel l'option "Add->Add Existing Item" puis sélectionnez le fichier bitmap que vous souhaitez inclure au projet (bmp, gif ou jpeg).

 


Etape 3

Sélectionnez depuis la fenêtre du projet le fichier bitmap que vous venez d'inclure et affichez ses propriétés (F4).

Vous devez placer la propriété "Build Action" sur "Embedded Resource".

A partir de ce moment, le bitmap que vous avez ajouté au projet et placé en "Embedded Resource" fera partie du programme exécutable final.

Charger le bitmap "Embedded"

Le bitmap que nous allons utiliser est accessible par son nom logique qui est composé du nom du projet.Nom du bitmap. Donc, si dans mon projet "TestRessource" je veux utiliser un bitmap dont le nom est "Image1.gif", son nom logique sera "TestRessource.Image1.gif" tout simplement.

Et pour charger Image1.gif il suffit d'écrire :

Code VB.NET

Dim a As System.Refection.Assembly
Dim wBitmap As Bitmap

Rem On récupère l'assembly en cours d'exécution
a = System.Reflection.Assembly.GetExecutingAssembly

Rem Chargement du fichier bitmap en mémoire depuis les ressources
wBitmap = New Bitmap(a.GetManifestResourceStream("TestRessources.Image1.gif"))

Code C#

System.Refection.Assembly a;
Bitmap wBitmap;

//On récupère l'assembly en cours d'exécution
a = System.Reflection.Assembly.GetExecutingAssembly();

//Chargement du fichier bitmap en mémoire depuis les ressources
wBitmap = New Bitmap(a.GetManifestResourceStream("TestRessources.Image1.gif"));

Conclusion

Avec ces quelques petites manipulations qui sont très simples, votre programme sera plus autonome car il incluera ses propres ressources graphiques.

 

Stéphane Sibué

 
   

Copyright 2001-2004 - Tous droits réservés
Toutes les autres marques et produits présents dans ces pages sont la propriété exclusive de leurs sociétés respectives.