IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Visual C++ Discussion :

Appli win32 avec controls style windows vista


Sujet :

Visual C++

  1. #1
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut Appli win32 avec controls style windows vista
    Bonjour tout le monde,

    Je fais actuellement une application win32 avec Visual Studio 2008, sur Windows Seven.

    Lorsque je développe l'interface graphique avec visual studio, mes controls ont bien le style aero. Mais quand je lance mon appli (que ce soit en mode débug ou release), j'ai des controls style windows 2000. Pareille si je cré mes controls dynamiquement...

    Comment faire pour avoir une interface avec des controles aero ? J'ai fais pas mal de recherche et j'ai vu sur MSDN que c'était possible avec VS 2008, sans qu'il y ai indiqué la marche à suivre...

    Est ce que quelqu'un pourrait m'expliquer comment faire ?

    Merci d'avance

    Benoît

  2. #2
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    Je ne sais pas si j'ai été très clair, donc je réexplique...

    Voici le style de fenêtre que j'obtient dans Visual Studio, et que je voudrais avoir à l'execution:




    Mais lors de l'execution voici ce que j'obtient:




    Déja est ce que cela est possible ?
    Si oui, y a t-il une dll à importer ? Une option à modifier dans Visual Studio ?

    Toute piste ou suggestion est la bienvenue, car pour l'instant je rame complétement...

    Merci d'avance.

  3. #3
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 588
    Points
    41 588
    Par défaut
    Un pragma à rajouter dans ton application pour ajouter la dépendance à l'assembly correspondant.
    Par contre,
    • Ça n'est supporté qu'en Unicode (enfin, plus ou moins)
    • Il faut un appel explicite à InitCommonControlsEx() pour avoir les contrôles standard qui s'affichent. Sinon, tu auras typiquement une erreur ERROR_CANNOT_FIND_WND_CLASS en cherchant à afficher ta boîte de dialogue.

    Voici les lignes de code données par Visual lui-même dans un projet MFC:
    Code C : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    #ifdef _UNICODE
    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_IA64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='ia64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    #endif

  4. #4
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    Ca marche !! Merci beaucoup Médinoc !!

    Ca rend quand même beaucoup mieux comme ça !

    J'ai aussi fais quelques petits tests:
    • Ca semble marcher même lorsqu'on n'utilise pas l'Unicode
    • Ca fonctionne aussi sans appeler InitCommonControlsEx()

  5. #5
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 588
    Points
    41 588
    Par défaut
    Citation Envoyé par benito9253 Voir le message
    Ca semble marcher même lorsqu'on n'utilise pas l'Unicode
    Je sais, voir mon lien pour une petite idée de ce qui marche et ne marche pas.
    Ca fonctionne aussi sans appeler InitCommonControlsEx()
    Ça, j'ai bien peur que ça dépende de l'OS, et peut-être aussi des bibliothèques employées. Des fois, sans, ça foirait sous XP.

  6. #6
    Membre habitué Avatar de benito9253
    Homme Profil pro
    Inscrit en
    Août 2009
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 205
    Points : 196
    Points
    196
    Par défaut
    Citation Envoyé par Médinoc Voir le message
    Je sais, voir mon lien pour une petite idée de ce qui marche et ne marche pas.
    Je vais essayer de comprendre mais j'ai un peu de mal avec l'anglais, et les traducteurs donnent des versions un peu bizarre...

    Citation Envoyé par Médinoc Voir le message
    Ça, j'ai bien peur que ça dépende de l'OS, et peut-être aussi des bibliothèques employées. Des fois, sans, ça foirait sous XP.
    Dans ce cas je vais garder InitCommonControlsEx(), on sait jamais.

  7. #7
    Membre éprouvé
    Inscrit en
    Avril 2005
    Messages
    1 110
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 1 110
    Points : 937
    Points
    937
    Par défaut
    La première chose que je fais quand j'installe un OS Win c'est de passer en mode "classique" (affichage 95/98/NT/2000) et désactiver tous ces effet "sapin de noël clignotant".

    Les goûts et les couleurs...

  8. #8
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 382
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 382
    Points : 41 588
    Points
    41 588
    Par défaut
    Mais si tu développes un programme, il faut savoir intégrer les effets si l'utilisateur les a demandés.

    Personnellement, j'ai les effets activés sur mon poste, mais pas sur mon compte Admin (car naturellement, je ne tourne pas en admin).

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ActiveX winsock avec windev et Windows Vista
    Par Le Shadow dans le forum Windows Vista
    Réponses: 1
    Dernier message: 16/11/2007, 08h59
  2. [C#]donner un style windows vista a une application
    Par drayif dans le forum Windows Forms
    Réponses: 8
    Dernier message: 18/07/2007, 03h43
  3. Réponses: 1
    Dernier message: 19/06/2007, 13h43
  4. Appli développées avec D6 refusée par Vista
    Par ybruant dans le forum Delphi
    Réponses: 8
    Dernier message: 05/04/2007, 10h30

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo