Introduction :
Cette article a pour but de vous montrer comment mettre votre propre
fichier manifest dans les ressources de vos applications, afin de leur donner
le style graphique de Windows XP, sous Windows XP bien sûr.
Mise en application :
Pour donner le style des thèmes XP à vos applications, il faut
leur associer un fichier xml appelé "manifest",
dont voici un exemplaire ci-dessous :
manifest.xml :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0" processorArchitecture="X86"
name="CompanyName.ProductName.YourApplication" type="win32"/>
<description>Description de votre application ici.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls"
version="6.0.0.0" processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df" language="*"/>
</dependentAssembly>
</dependency>
</assembly>
Ce fichier comporte des informations sur votre
application, notamment son identité dans les attributs de l'élément assemblyIdentity,
sa description dans l'élément description que vous pouvez remplir avec les données
concernant votre application.
L'élément important pour donner le style XP est l'élément assemblyIdentity de
l'élément dependentAssembly de l'élément dependency. Il fournit les informations
pour trouver l'assembly fournissant les contrôles au style XP. Il ne doit donc pas
être modifié.
Pour information les assemblies sont des dlls spécifiques à la plateforme DotNet.
(C'est un avant goût de la gestion des dlls sur les futurs versions de Windows)
La première solution pour utiliser ce fichier manifest est de le joindre à votre
application. Il suffit pour cela de lui donner le même nom que votre exécutable
avec l'extension "manifest" et de le déposer dans le même dossier.
Exemple : si votre exécutable se nomme "Project1.exe" le fichier manifest
se nommera "Project1.exe.manifest".
Mais sûrement que vous préférerez qu'il soit intégré à l'exécutable. La solution
est de le mettre dans ses ressources.
Si vous avez fait des recherches sur le Net à ce sujet, vous avez sûrement trouvé
à télécharger un fichier de ressource compilé (res) à lier à votre exécutable.
Nous, nous allons aller un tout petit peu plus loin, nous allons le créer nous-même,
ce qui vous permettra d'en personnaliser la partie concernant votre application.
Pour cela nous allons d'abord nommer le fichier manifest en "manifest.xml",
puis nous créons un fichier script de ressources nommé "manifest.rc" dont le
contenu sera le suivant :
manifest.rc :
1 24 "manifest.xml"
Ici l'identificateur de la ressource est "1" son type est "24" son contenu est celui
du fichier manifest.xml
Il ne reste plus qu'à ajouter le fichier "manifest.rc" au projet et lancer
la compilation. Le fichier "manifest.res" sera créé et lié à l'exécutable de
l'application.
Pour être un peu plus conventionnel, on aurait pu nommer l'identificateur et le type
de la ressource par leurs noms. Normalement ils devraient être défini dans le fichier "winuser.h"
mais sous C++ Builder ils ne le sont pas. Nous pouvons par exemple les définir dans
un fichier entête nommé "manifest.h".
manifest.h :
#ifndef CREATEPROCESS_MANIFEST_RESOURCE_ID
#define CREATEPROCESS_MANIFEST_RESOURCE_ID 1
#endif
#ifndef RT_MANIFEST
#define RT_MANIFEST 24
#endif
Le script de ressources devient donc :
manifest.rc :
#include "manifest.h"
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "manifest.xml"
Voilà vous êtes maintenant équipé pour donner du style (XP) à vos applications.
CGi
Avec la contribution d'Anomaly pour la relecture.
|