Accueil > Forum > > > > VC8 XP style
VC8 XP style
mardi 7 mars 2006 à 19:27:34 |
VC8 XP style

JoebarGlut
|
Salut, j'ai un ancien programme que j'avais codé sous VC6 et je vois que dans l'IDE de VC8, mes dialogbox ont automatiquement pris le style XP. Cool. Seulement quand je compile, je me retrouve avec les anciens controles :'( Dois-je creer un nouveau projet et refaire mes fenetres ou existe-t-il une solution de conversion ? merci.
|
|
mardi 7 mars 2006 à 20:23:05 |
Re : VC8 XP style

spiky31
|
Réponse acceptée !
salut
Ceci est tout a fait normal et il n'y a aucune conversion a faire ... (Surtout ne change rien !! ce sera du temps perdu)
Il faut simplemnt que tu "insére" un fichier "manifest" dans ton executable
Va dans les propriétés de ton projet :
->Configurations properties->Linker->Manifest file
a l'option "Generate manifest" met "yes"
a l'option "Manifest file" met le nom du fichier manifest avec son chemin d'acces
Ton fichier manifest DOIT avoir cette gueule :
Nom : tonapp.exe.manifest
Contenu :
wxWidgets application
Voila ca devrait marcher ...
Tu pouvait le faire sous VC6 aussi en bidoullant un peu (meme si le logiciel est sorti avant WinXP !!)
Voila a+
|
|
mardi 7 mars 2006 à 21:44:16 |
Re : VC8 XP style

JoebarGlut
|
J'ai fais ce que tu m'a dit : le "yes" etait deja la. J'ai ensuite ouvert le fichier "Projet05.exe.intermediate.manifest" de mon repertoire debug et remplacé le code existant pas le tiens. J'ai recompilé mais rien n'a changé. Sur un autre forum j'ai lu qu'il fallais un InitCommonControls() avant les createdialog et dialogbox. J'ai esseyé aussi, j'ai eu une erreur de lien. J'ai alors rajouté #include "commctrl.h" #pragma comment(lib, "comctl32.lib") //#pragma comment(lib, "libcomctl32.a") La lib commentée il ne l'a pas trouvé, j'ai donc compilé comme ça et ca passe. Mais toujours pas de XP style. 
|
|
mardi 7 mars 2006 à 21:53:47 |
Re : VC8 XP style

JoebarGlut
|
Oups désolé j'avais pas lu ça name="tonapp.exe", ça marche, impec merci ! :)
|
|
mardi 7 mars 2006 à 22:01:27 |
Re : VC8 XP style

JoebarGlut
|
Par contre à chaque modif de mon code et compil, il me recree le fichier par default... si tu connais un truc, sinon c'est pas grave, je le ferais à la fin.
|
|
mardi 7 mars 2006 à 22:22:06 |
Re : VC8 XP style

Xaviou
|
Réponse acceptée !
Voici comment je procède sous VS.NET 2003 : Premièrement, tu fais comme te l'as expliqué Spiky31 : Tu crées un fichier texte contenant les infos qu'il t'a donnée. Par exemple, je viens de le faire avec une application win32, ça donne ça :
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <assemblyIdentity name="EssaiManifest.Application" processorArchitecture="x86" version="1.0.0.0" type="win32"/> <description>EssaiManifest</description> <dependency> <dependentAssembly> <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="x86" publicKeyToken="6595b64144ccf1df" language="*" /> </dependentAssembly> </dependency> </assembly>
Pour vérifier si ton fichier est valide, donnes-lui le même nom que ton éxécutable en lui ajoutant ".manifest" à la fin Ainsi, mon exemple me fait un éxécutable qui s'appelle EssaiManifest.exe J'ai donc appelé mon fichier EssaiManifest.exe.manifest Place ce fichier dans le même répertoire que l'éxécutable. Lance ton éxécutable par un double-click depuis l'explorateur, si ton fichier est OK, tu doit avoir le style XP pris en compte. Pour info, avec une simple application Win32 de base, et un malheureux bouton dessus, j'ai été obligé de linker avec comctl32.lib et de faire un appel à InitCommonControls(); Ceci est dû au fait que les contrôles ayant le style XP ne sont plus considérés comme de simples boutons, mais comme des contrôles avancés (ou quelque chose comme ça). L'inconvénient de cette méthode, c'est que tu es obligé de fournir le fichier manifest avec ton application. Il existe une autre méthode qui est de l'inclure dans les resources de ton éxécutable. Voici la marche à suivre (je suis toujours sous VC.NET 2003) Déplace ton fichier manifest dans le répertoire contenant tes resoures, et, comme c'est du xml, appelles-le tout simplement "Manifest.xml". (plus besoin du nom de l'éxéctuable, on s'en fout) Ensuite, dans Visual Studio, vas dans l'onglet des resources, et fais un click droit sur le nom de ton fichier resources dans l'arborescence (pour moi, c'est EssaiManifest.rc) Clique sur Resources Symbols, et ajoute une entrée appelée IDR_MANIFEST, en lui donnant la valeur 1 (c'est impératif) Vas ensuite dans Project / Add Resource, choisi "Import", et vas chercher le fichier "Manifest.xml" Visual Studio te demande alors de quel type est cette resource : tapes RT_MANIFEST dans le champ Ressource Type. Normalement, ton fichier a du s'ouvrir en mode hexadécimal dans l'éditeur de Visual Studio. Fermes-le, on n'a plus besoin de l'éditer. Changes ensuite l'ID de la resource que l'on vient d'ajouter, en lui donnant IDR_MANIFEST (celui qui valait 1 tout à l'heure). Compiles, et le tour est joué. Le fichier manifest a été inclus à ton éxécutable, et n'a plus besoin d'être fourni avec l'application.
Une autre méthode existe pour les éxécutables dont tu ne possèdes pas le code source, c'est d'ajouter ce fichier à l'éxécutable avec un logiciel permettant de lire/écrire les resources d'un éxécutable (par exemple, ResHack).
J'espère avoir été clair Si tu rencontres des problèmes, n'hésites pas.
|
|
mercredi 8 mars 2006 à 06:24:50 |
Re : VC8 XP style

spiky31
|
Réponse acceptée !
Salut
La lib "comctl32.lib" je la lie habituellement quand j'utilise des controles qui ne sont pas chargé en memoire par winXP. (Exemple : Progress Bar)
Par contre elle ne ma jamais servi pour obtenir le style XP ...
Maintenant, je ne savais pas qu'un appel a InitCommonControls() m'obligeait a linker le fichier manifest, comme je le linke tout le temps ... :) Bref a verifier
Pour ta derniere question Joebar, ca vien tout simplement du fait que je me suis planté :). Mon fichier je le mets dans "Manifest tool"->"Additional manifest files". Voila excuse moi pour ma petite erreur ...
Si ta encore des questions, n'esites pas, j'essaierais d'y repondre ce soir (la je vais au boulot ...) sauf si quelqu'un ta deja repondu :)
Voila a+
|
|
mercredi 8 mars 2006 à 13:32:16 |
Re : VC8 XP style

JoebarGlut
|
J'ai mis le manifest dans "manifest supplémentaire", ça fonctionne à merveille :)
J'ai aussi commenté les InitCommonControls(), ils ne sont pas obligatoires avant chaque appels aux boites de dialogue comme je l'avais lu. Je l'ai donc juste mis au debut du winmain.
J'ai aussi testé ta soluce Xav, mais ca n'a pas fonctionné. Ton explication etait claire mais peut etre que quelque chose a changé dans la version 8.
Merci à vous deux !! :)
bye
|
|
Cette discussion est classée dans : style, xp, vc8
Répondre à ce message
Sujets en rapport avec ce message
Style XP avec la MFC [ par Dodgy ]
Bonjour,je suis novice en programmation objet. Je recherche actuellement un moyen pour que les applications que je cree en MFC avec VC++6 aient le sty
Changer un Visual Style sous XP [ par kemenaran ]
Voila, je cherche un API ou une commande VB6 pour charger un thème visuel (fichier .msstyle) sans passer par "Propriétés de l'Affichage". Je connais l
Richedits et style XP [ par Nebula ]
Bonjour, Encore une contrariété avec les RichEdits : ils ne prennent pas l'apparence XP, comme les edits normaux. Dixit MSDN : "To use visual styles
Style XP [ par Crazy_Joe ]
Bonjour, J'ai cherché un peu partout dans le forum pensant que ça aurait été une question fréquente mais non, je n'ai rien trouvé. J'aimerais appliqu
Problème d'onglets avec le style XP [ par MasterShadows ]
Salut à tous,voilà le problème, je suis en train d'écrire un p'tit programme à base d'onglets, alors voilà ce que j'ai fait :En prenant l'éditeur de r
DLL - style XP sous IE et Outlook [ par latournd ]
Bonjour, Nous avons développé une DLL windows avec une interface graphique à l'aide des librairies MFC.Le style de la DLL est bien conforme au style X
Style Xp [ par yoyo269 ]
Salut à tous,je suis actuellement sous Dev-C++ 4.9.9.2 et je souhaiterais qu'un de mes programmes ait le style XP.J'arrive à obtenir le style XP sans
fichier manifest - Style XP [ par Roro8883 ]
Bonjour à tout le monde !Je suis en train de développer un programme avec wxWidgets, dans lequel j'utilise un fichier .manifest pour avoir le style XP
Dev-Cpp et Windows XP Style [ par lektrosonic ]
Quand je selectionne aux Projects Options: Suporte Windows XP Style..et je lance mon application, la fenetre est trop laide. Atutour des edit et des s
[Win32] Comment laisser le style Windows 9* à une boite de dialogue alors que la fenêtre principale est au style XP ? [ par uaip ]
Bonjour à tous,Ma question est toute bête (je pense) pourtant je n'y arrive pas.En gros, j'ai créé une fenêtre utilisant l'API Win32, et je lui ai mis
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|