I. 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 dll spécifiques à la plateforme DotNet. (C'est un avant-goût de la gestion des dll sur les futures 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êmes, 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 leur nom. Normalement, ils devraient être définis 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.