Logo Atlence.com

Publicité - Nos sponsors !
RSS | * Plan | * Nos logiciels | * Licence commerciale | * Lettre d'infos | * FAQ | * Contact
       
Nos logiciels 
* Questions Réponses
* Questionnaires
* Calcul de Résistances
* Justal'heure
* EuroFranc
* Farces & Attrapes
* Jeux Bidouilles
* Tous nos logiciels
 
Programmation 
* Logiciels utilisés
* Codes sources
* Articles et astuces
* Liens utiles
 
Divers 
* La boîte à astuces
* Nos récompenses
* À propos du site
* Lettre d'infos
* Partenariat
* Liens partenaires

* Nous contacter
 
 

Accueil Accueil >> Programmation >> Articles et astuces >> Style Windows® XP

Utiliser les styles visuels de Windows® XP en Visual Basic®

Introduction

L'arrivée des nouveaux systèmes d'exploitation de Microsoft®, en particulier Windows® XP et Windows Server™ 2003, s'accompagne d'une nouvelle interface utilisateur graphique, qui se distingue des versions précédentes de Windows®. Cette nouvelle interface graphique concerne aussi bien les fenêtres que les contrôles (barres d'outils, boutons, ...) :

programs/images/winxp_2_small.jpg
Les nouveaux styles Windows XP

Malheureusement, ceux qui ont essayé d'exécuter des anciennes applications sous Windows® XP ou Windows Server™ 2003 ont pu se rendre compte que les nouveaux styles n'étaient pas automatiquement pris en compte : l'application présentait une "vieille" interface de même style que Windows® 98 par exemple :

programs/images/winxp_4_small.jpg
Les anciens programmes ne supportent pas les nouveaux styles

Utiliser les styles pour un programme non prévu pour Windows® XP

En fait, pour profiter des nouveaux styles visuels, il est nécessaire de créer un fichier qui va accompagner le programme. Ce fichier a pour rôle de signaler à Windows® que cette application peut utiliser les nouveaux styles et exécuter une fonction API au démarrage du programme pour initialiser les styles. Ce fichier porte le nom de l'exécutable suivi de l'extension ".manifest". Par exemple notepad.exe.manifest si le fichier exécutable de l'application ne nomme notepad.exe. Ce fichier contient entre autres la version pour lequel il a été créé ainsi que la description du programme.

Pour essayer d'inclure les nouveaux styles, créons un nouveau projet Visual Basic® qui contient quelques contrôles (boutons, ...) et compilons-le en un fichier exécutable nommé projet1.exe. Si vous l'exécutez, il n'aura pas les nouveaux styles de Windows® XP.

Télécharger Téléchargez maintenant le fichier manifeste qui va l'accompagner et placez-le dans le même dossier que le fichier compilé. Attention ! Pour que ceci fonctionne, il faut que le fichier .manifest porte le même nom que le fichier compilé qui l'accompagne (par exemple projet1.exe.manifest si votre exécutable porte le nom de projet1.exe) et doit se trouver dans le même dossier !

Ensuite, pour initialiser les styles, placez ce code à la déclaration de la feuille :

Private Declare Function InitCommonControls Lib "comctl32.dll" () As Long

Puis ce code en réponse à l'événement Initialise de la feuille :

Private Sub Form_Initialize()

    InitCommonControls

End Sub

En compilant et en exécutant le programme à nouveau, nous nous apercevons que Windows® prend cette fois-ci en compte la nouvelle interface.

programs/images/winxp_14_small.jpg
Interface sans les styles XP

programs/images/winxp_6_small.jpg
Interface avec les styles XP après compilation

Utiliser les styles sous Visual Basic®

Cependant, un nouveau problème se pose : lors de la création de la feuille sous Visual Basic®, celui-ci affiche les contrôles avec l'ancienne interface ; ce n'est pas très pratique. En effet, nous sommes obligés, pour tester les nouveaux styles, de compiler à chaque fois l'application et de l'exécuter accompagnée de son fichier "manifest".

Pour contrer ce problème, il faut "donner" à Visual Basic® lui-même un fichier "manifest" qui lui permettra d'utiliser les nouveaux styles pour sa propre interface mais également pour la création de feuilles !

Télécharger Téléchargez le fichier manifest et copiez-le dans le dossier où est installé Visual Basic® (par défaut : C:\Program Files\Microsoft Visual Studio\VB98). Exécutez Visual Basic® et ouvrez le projet précédent. Visual Basic® affiche désormais les nouveaux styles lors de la création de la feuille, mais également lorsqu'on exécute le programme sous Visual Basic®. Il n'est donc plus nécessaire d'effectuer une compilation à chaque fois que l'on veut tester l'interface de notre application.

programs/images/winxp_8_small.jpg
Visual Basic avec les nouveaux styles

programs/images/winxp_10_small.jpg
Interface avec les styles XP après compilation

Problèmes avec les cadres

Si vous placez des cadres dans votre feuille qui contient des contrôles, notamment des coches ou des options, vous vous rendrez compte que Visual Basic® les dessine avec un fond noir, ce qui rend le contrôle illisible et donc inutilisable ! Pour palier à ce problème, il est nécessaire de placer un autre contrôle conteneur, par exemple un contrôle PictureBox, à l'intérieur du cadre et placer tous les contrôles dans le contrôle PictureBox. Il suffit ensuite de mettre la propriété BorderStyle à 0 pour "cacher" cette manipulation.

programs/images/winxp_12_small.jpg
Les défauts avec les frames

-> L'astuce : l'insertion d'un contrôle PictureBox dans le cadre.

programs/images/winxp_16_small.jpg
Le résultat après exécution, en supprimant la bordure

Pour aller plus loin

Si vous trouvez contraignant de distribuer vos exécutables accompagnés d'un fichier "manifest", il est possible d'insérer ce fichier "manifest" dans les ressources du programme. Pour ce faire, vous pouvez utiliser l'éditeur de ressources de Visual C++® (celui de Visual Basic® ne fonctionne pas), soit utiliser un programme capable de modifier les ressources d'un fichier exécutable, comme Ressource Hacker™.

Il est nécessaire de placer ce fichier "manifest" avec un type 24 (et non "24" entre guillemets) et un ID de 1. Par exemple si vous utiliser l'éditeur de ressource de Visual C++®, cliquez sur le menu Insert puis sur la commande Resource. Cliquez ensuite sur le bouton Custom.... Dans la zone Resource Type, tapez 24 (sans guillemets) et collez le contenu du fichier "manifest" (ouvert préalablement avec le Bloc-notes par exemple). Affichez ses propriétés et changez le ID en 1 (sans guillemets). Enregistrez les ressources et compilez votre programme. Celui-ci s'exécute en intégrant les nouveaux styles de Windows® XP sans nécessairement être accompagné de son fichier "manifest", qui est maintenant lié à l'intérieur de l'exécutable.

Pour illustrer ces manipulations, Télécharger Téléchargez ce fichier et suivez les étapes en images :

  1. Ouvrez le fichier "manifest" avec le Bloc-notes.

    programs/images/winxp_18_small.jpg

  2. Utilisez l'éditeur de ressources de Visual C++® pour modifier les ressources du projet Visual Basic®.

    programs/images/winxp_20_small.jpg

  3. Cliquez sur le menu Insert puis sur la commande Resource. Dans la boîte de dialogue qui apparaît, cliquez sur le bouton Custom...

    programs/images/winxp_22_small.jpg

  4. Entrez comme type de ressource : 24

    programs/images/winxp_24_small.jpg

  5. Collez le contenu du fichier "manifest"

    programs/images/winxp_26_small.jpg

  6. Fermez la ressource et modifier ses propriétés en mettant 1 (un) dans l'ID.

    programs/images/winxp_28_small.jpg

  7. Enregistrez la ressource et compilez votre fichier sous Visual Basic® . L'exécutable supporte les nouveaux styles sans fichier "manifest" l'accompagnant !

    programs/images/winxp_30_small.jpg

Liens utiles - En anglais seulement

 
Tâches spécifiques 
* Découvrir nos articles/astuces
* Télécharger nos sources
* Les logiciels que nous utilisons
* Afficher des liens utiles
* Nous envoyer vos commentaires
 
Actualités 

31/12/07

* Nous vous souhaitons une très bonne année 2008, meilleurs voeux de succès.
* En savoir plus...


29/10/07

* Spécial Halloween : piegez vos amis !

Frissons garantis pour eux... et fous-rires pour vous !

Téléchargez vite Farces et Attrapes
* En savoir plus...


17/02/06

* Nouvelle version 2.1 de Justal'heure qui améliore l'ergonomie du programme.
* En savoir plus...


* Toutes les nouveautés

 
Téléchargements 
* Les nouveautés
* Les plus téléchargés
* Pilotes & routines
* Aide et conseils

* Tous les téléchargements
 
 
 

Copyright © 2001-2008 Thomas et Mathieu DUBAËLE - Tous droits réservés
Toute reproduction, même partielle, est strictement interdite sans autorisation.
Dernière mise à jour de la page : 12/09/2005


Publicité - Nos sponsors !