Vos recrutements informatiques

700 000 développeurs, chefs de projets, ingénieurs, informaticiens...

Contactez notre équipe spécialiste en recrutement

Developpez.com - C
X

Choisissez d'abord la catégorieensuite la rubrique :



API Windows en C

Donner le style XP à vos applications.

Par CGi

Le 6 juillet 2005




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. La copie d'écran si dessous est l'exemple de la barre d'état auquel nous avons donnée le style XP.

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 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 "WinMain.exe" le fichier manifest se nommera "WinMain.exe.manifest".
Mais sûrement que vous préfererez 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 sur le 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 l'ajouterons script de ressources :

CREATEPROCESS_MANIFEST_RESOURCE_ID  RT_MANIFEST "manifest.xml"

Si vous utilisez un vieux compilateur, il ce peut que les constantes CREATEPROCESS_MANIFEST_RESOURCE_ID et RT_MANIFEST ne soit pas définies. Vous pouvez alors les remplacer par leur valeurs numériques.

1 24 manifest.xml

Normalement, ces identificateurs devraient être défini dans le fichier "winuser.h". Si ce n'est pas le cas et que l'utilisation des valeurs numériques vous semble être une solution un peu arcaïque, alors vous pouvez 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

Et dans le script de ressources nous l'appelerons alors par :

#include "manifest.h"

CREATEPROCESS_MANIFEST_RESOURCE_ID  RT_MANIFEST "manifest.xml"

Vous pouvez aussi modifier votre fichier "winuser.h". Voilà nous somme maintenant équipé pour donner du style (XP) à nos nos applications.

A vos PC.

CGi



Sommaire



C/C++
  Les pointeurs du C/C++.   Les listes chaînées.             Liste simple.             Liste triée.             Liste double.   Les arbres.   Les tas.   Le C orienté objets ?

  1 - La fenêtre principale.   2 - Contrôles et messages.   3 - Les commandes.   4 - Dialogue std.   5 - Contexte de périph.   6 - Dessiner.   7 - Les ressources.   8 - Dialogue perso.   9 - Dialogue comm.   10 - Les accélérateurs.

Assembleur
  Assembleur sous Visual C++.

C++ BUILDER
  Trucs et astuces.   Composant.   TRichEdit.   TDrawGrid.   Application MDI.   TThread.   wxWidgets.   Style Win XP.

  Première application.   Construire un menu.   Dessiner.   Sisers, Timers...   Dialogues standards.   Dialogues perso.

DotNet
  Composant C# Builder.   Contrôle WinForm.   Application MDI.

Java
  Applet java.





Copyright 2002-2016 CGi - Tous droits réservés CGi. Toutes reproduction, utilisation ou diffusion de ce document par quelque moyen que ce soit autre que pour un usage personnel doit faire l'objet d'une autorisation écrite de la part de l'auteur, propriétaire des droits intellectuels.
Les codes sources de ce document sont fournis en l'état. L'utilisateur les utilise à ses risques et périls, sans garantie d'aucune sorte de la part de l'auteur. L'auteur n'est responsable d'aucun dommage subi par l'utilisateur pouvant résulter de l'utilisation ou de la distribution des codes sources de ce document.
De la même façon, l'auteur n'est en aucun cas responsable d'une quelconque perte de revenus ou de profits, ou de données, ou de tous dommages directs ou indirects, susceptibles de survenir du fait de l'utilisation des codes sources de ce document, quand bien même l'auteur aurait été averti de la possibilité de tels dommages. L'utilisation des codes sources de ce document vaut acceptation par l'utilisateur des termes de la licence ci-dessus.

Contacter le responsable de la rubrique C