Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1010 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Jolie interface graphique en VB

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Jolie interface graphique en VB

n°976027
steevi2307
Posté le 09-02-2005 à 08:22:14  profilanswer
 

Salut,
 
Y a-t-il moyen, en VB, de faire de belles interfaces graphiques style win xp ... et plus genre win 95 ?
 
Merci d'avance.

mood
Publicité
Posté le 09-02-2005 à 08:22:14  profilanswer
 

n°976058
FlorentG
Unité de Masse
Posté le 09-02-2005 à 09:20:42  profilanswer
 

En VB6 je crois pas :/ Et en .NET, faut un fichier .manifest pour activer les styles winxp...


---------------
last.fmflickr
n°976060
FlorentG
Unité de Masse
Posté le 09-02-2005 à 09:21:50  profilanswer
 

Quoique, les contrôles XP sont dans une dll, si t'inclus la dll dans la liste des contrôles, doit y avoir moyen... Je vais chercher laquelle c'est :)


---------------
last.fmflickr
n°976067
FlorentG
Unité de Masse
Posté le 09-02-2005 à 09:27:14  profilanswer
 

Ok, donc normalement c'est la ComCtl32.dll, version 6. A essayer. Faudra aussi essayer le logiciel sous d'anciens windows pour être sûr que ça marche avec l'ancienne version...


---------------
last.fmflickr
n°976168
steevi2307
Posté le 09-02-2005 à 10:27:44  profilanswer
 

et comment t'utilises ca :p:p :):)  
 
merci d'avance

n°976173
FlorentG
Unité de Masse
Posté le 09-02-2005 à 10:30:13  profilanswer
 

Ch'ais pas :D Essaye d'ajouter dans la liste des contrôle la bonne version... Maintenant comme dit, faut vérifier que ce soit possible ;)


---------------
last.fmflickr
n°976819
knakes
Posté le 09-02-2005 à 17:49:39  profilanswer
 

En réalité, c'est tout simple.
 Il faut créer un module dont la Sub sera nomée ' Sub Main () ' et devra être lancée au démarrage de l'application ( Projet > Propriétés de ... > objet de démarrage : Sub Main ).
Ce module contiendra le texte suivant :

Code :
  1. Option Explicit
  2. Private Declare Sub InitCommonControls Lib "comctl32.dll" ()
  3. Public Sub Main()
  4.    InitCommonControls
  5.    ' Suite de votre code dans la Sub Main.
  6.  
  7. End Sub

En outre, un fichier de même nom que celui de l'exe doit être créé et avoir comme extension ' .manifest '. En clair, si l'exe se nomme ' projet1.exe ', le fichier devra se nommer ' projet1.exe.manifest '. Il devra se trouver dans le même répertoire que le fichier exécutable. Dans ce fichier voilà le code à trouver :

Code :
  1. <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
  2. <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  3. <assemblyIdentity
  4.     version="1.0.0.0"
  5.     processorArchitecture="X86"
  6.     name="nom_de_votre_projet"
  7.     type="win32"
  8. />
  9. <description>Description de votre projet.</description>
  10. <dependency>
  11.     <dependentAssembly>
  12.         <assemblyIdentity
  13.             type="win32"
  14.             name="Microsoft.Windows.Common-Controls"
  15.             version="6.0.0.0"
  16.             processorArchitecture="X86"
  17.             publicKeyToken="6595b64144ccf1df"
  18.             language="*"
  19.         />
  20.     </dependentAssembly>
  21. </dependency>
  22. </assembly>


 
Petite remarque : ce code provient du site www.vbaccelerator.com

n°976826
FlorentG
Unité de Masse
Posté le 09-02-2005 à 17:52:08  profilanswer
 

Ah, je pensais que ça marchait qu'en .NET le fichier manifest :)


---------------
last.fmflickr
n°977000
knakes
Posté le 09-02-2005 à 20:40:03  profilanswer
 

Normalement oui. ;)  
La solution que j'indique au dessus fonctionne si le fichier ' .manifest ' se trouve dans le même répertoire et porte le même nom. Dans le cas contraire, l'exe retrouve les aspects de Win 9x & co . Si par contre le fichier existe mais que vous n'y faites pas référence, le programme ne se lance pas.
 
Aussi, je n'ai jamais essayé, la copie de ' comctl32.dll ' dans le system de Win 9x peut peut être permettre l'affichage en style XP ... ( :??: )
 
Autre info, dans le répertoire de VB6, créez un fichier ' .manifest ' avec le code ci dessus et nommez le ' VB6.exe.manifest '. Lancez VB6 et admirez.  :D  
 
Note : lorsque vous compilez l'exe sans faire référence à ' comctl32.dll ', l interface 9x reprend le dessus ...

n°977132
FlorentG
Unité de Masse
Posté le 09-02-2005 à 23:25:25  profilanswer
 

Pour la copie de la nouvelle version de comctl32, c'est interdit :D On n'a pas l'authorisation de redistribuer la version 6 :/


---------------
last.fmflickr
mood
Publicité
Posté le 09-02-2005 à 23:25:25  profilanswer
 

n°978280
steevi2307
Posté le 11-02-2005 à 09:49:30  profilanswer
 

interdit :d ?

n°978295
FlorentG
Unité de Masse
Posté le 11-02-2005 à 09:57:44  profilanswer
 

Oui ;) D'ailleurs je sais même pas si ça fonctionne, à essayer. Mais comme dit, t'as pas le droit :D


---------------
last.fmflickr

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Jolie interface graphique en VB

 

Sujets relatifs
Bouton graphique : problème de MouseListener...Graphique en C/C++ avec MFC
[Sondage] Logiciel => Interface GraphiqueUne appli graphique pour tester ses expressions XPath ??
Comment creer interface graphiquement avec Eclipse?interface graphique en JAVA
kit graphiquejava-sql-interface swing
Plus de sujets relatifs à : Jolie interface graphique en VB



Copyright © 1997-2014 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Avis LDLC / LesNumeriques.com