XPManifestCPL

Utilisation des contrôles XP dans une application du panneau de configuration (cpl)

Article lu   fois.

L'auteur

Profil Pro

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

1. Description

Si vous testez votre application sous Windows XP, vous constaterez que les contrôles ont toujours le même aspect, pas le nouveau look.
Pour changer cet état de fait, rien de plus simple. Il suffit d'ajouter manuellement une ressource spéciale que Delphi ne génère pas : un manifeste XP.
Vous trouverez facilement en cherchant un peu sur internet des fichiers .res ou des composants vous permettant d'inclure ce manifeste sans vous casser la tête.
Le problème se pose pourtant avec les Application Panneau de Configuration plus connues sous le nom de control applets. Pour celles-ci les composants ou fichiers tout prêts habituels ne fonctionnent pas.

2. La solution

En fait, le problème vient du nom de la ressource contenant le manifeste. Celle-ci n'est pas la même pour une application classique et pour une dll chargée par RunDLL32. C'est aussi simple que ça.
Je vous propose donc de télécharger un petit projet de démo contenant un fichier texte expliquant la marche à suivre pour réaliser votre applet new-look.
Ceux qui voudraient en savoir un peu plus peuvent aller faire un tour chez Microsoft à l'adresse suivante: Using Windows XP Visual Styles.

3. Téléchargement

Le projet Delphi5 compressé dans une archive zip : XPManifestCPL.zip
Voici un fichier .res directement utilisable que vous n'avez plus qu'à inclure dans votre projet (utilisez le clic droit pour enregistrer le fichier sur votre machine) : XPControls4CPL.res

Articles
Delphi 2005 : Découvrez le futur Delphi 2005
DirectX : Introduction à DirectX 9 en Delphi
Variables d'environnement : Présentation, description et utilisation des variables d'environnement sous Windows
Mailslots : Présentation des mailslots et de leur utilisation en Delphi pour la communication inter-processus
Projets complets avec sources
NumericalParser : Parser numérique en Delphi afin de transformer une chaîne de caractères en valeur flottante ou entière.
RegSearch : Composant de recherche dans la base de registre
CDAReader : Lecture des informations contenues dans les fichier CDA de Windows
ScreenSaverPreview : Composant d'affichage de l'aperçu des économiseurs d'écran de Windows
ScanResources : Programme d'exploration des ressources des programmes ou des dll d'un répertoire
ClipboardViewer : Démonstration de la détection des modifications et de l'affichage du contenu du presse-papier
Matrix : Tentative de reproduction en Delphi de l'animation bien connue du film Matrix
Sources et exemples
EMFTransform : Transformation (rotation, inversion, miroir) d'un metafile Windows en mémoire
DeleteKeyTree : Suppression récursive d'un clé de la base de registre
MultiStrings : Routines de gestion de tableaux de chaînes C
GetDllFilename : Pour récupérer le chemin d'une dll par son handle
Extension du shell : Exemple d'extension du menu contextuel du shell de Windows
TriStringGrid : Exemple de tri par colonne d'un composant TStringGrid à l'aide d'un algorithme de tri rapide (quick sort)
XPManifestCPL : Utilisation des contrôles XP dans une application du panneau de configuration (cpl)
Bouboules : Modélisation à l'aide du design pattern Observer
Divers
Diagramme ternaire : Un logiciel gratuit de tracé de diagramme ternaire

  

Copyright © 2002 Pierre Castelain. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.