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

Windows Forms Discussion :

[VB.NET]Style Windows Classique/XP


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut [VB.NET]Style Windows Classique/XP
    Bonjour

    J'aimerai pouvoir déterminer dans mon programme si Windows utilise le style XP ou classique.
    La hauteur de la barre de titre et les dimensions du DataGridview en dépendent et je veux adapter mon application.

    Merci

    Alain

  2. #2
    Membre averti
    Inscrit en
    Mai 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 17
    Par défaut
    Bonjour, bon voila pour ke moi j'utilise se code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Module Module1
     
        Sub Main()
            'Style Win XP   
            Application.EnableVisualStyles()
            Application.Run(New Menu)
        End Sub
    End Module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Public Sub New()
            MyBase.New()
            'Cet appel est requis par le Concepteur Windows Form.
            InitializeComponent()
        'Ajoutez une initialisation quelconque après l'appel InitializeComponent()
        Application.EnableVisualStyles()
        End Sub
    j'espere ke ça vous aidé

  3. #3
    Membre du Club
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Bonjour

    Merci pour la réponse, mais ce n'est pas tout à fais mon problème:
    Mon application utilise bien les Visual Styles XP, mais si l'utilisateur sur sa machine a décidé dans la configuration de son affichage d'utiliser le style classique, mon application s'affichera également en style classique.
    C'est ce choix de l'utilisateur qu'il faudrait que je puissse déterminer.

    A+

    Alain

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Août 2005
    Messages : 21
    Par défaut
    Bonsoir,

    J'avais cherché la même chose un moment j'étais tombé sur ca, mais je n'ai pas encore eu l'occasion de le tester ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLibraryA" (ByVal path As String) As IntPtr
    Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal library As IntPtr, ByVal procName As String) As IntPtr
    Private Declare Function FreeLibrary Lib "kernel32.dll" (ByVal library As IntPtr) As Boolean
    Private Declare Function IsThemeActive Lib "uxtheme.dll" () AsBoolean
    Private Declare Function IsAppThemed Lib "uxtheme.dll" () AsBoolean
     
    Private Function XPThemesEnabled() As Boolean
      Dim os As OperatingSystem = System.Environment.OSVersion
      If os.Platform = PlatformID.Win32NT _
        AndAlso (((os.Version.Major = 5) AndAlso (os.Version.Minor >= 1)) _
        OrElse (os.Version.Major > 5)) Then
     
        Dim uxTheme As IntPtr = LoadLibrary("uxtheme.dll")
        If Not uxTheme.Equals(IntPtr.Zero) Then
          Dim handle As IntPtr = GetProcAddress(uxTheme, "IsThemeActive")
          If handle.Equals(IntPtr.Zero) Then
            ' an error occurred, use GetLastError
          Else
            If IsThemeActive() Then
              Return IsAppThemed
            End If
          End If
        Else
          ' an error occurred, use GetLastError
        End If
        FreeLibrary(uxTheme)
      End If
     
      Return False
     
    End Function
    Source : http://addressof.com/blog/archive/2004/02/14/384.aspx

    Bien à toi et bon code

    Looney

  5. #5
    Membre du Club
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Bonjour

    J'ai résolu mon Problème: dans la base de registre on peut déterminer si l'utilisateur a choisi le style XP ou classique pour Windows.

    C'est la clé:
    'HKEY_CURRENT_USER\Control Panel\Desktop\UserPreferencesMask'
    Sa valeur est codée sur 4 bytes.
    Le 3ème byte est 5 pour style classique ou 7 pour style XP

    Alain

  6. #6
    Membre confirmé Avatar de Doctor Z
    Inscrit en
    Mars 2004
    Messages
    88
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 88
    Par défaut
    Salut !

    Comment as-tu fait pour en arriver à cette conclusion ?

  7. #7
    Membre du Club
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    7
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2006
    Messages : 7
    Par défaut
    Salut

    J'ai trouvé la solution en effectuant un vrai travail de détective dans la base de registre:
    Analyser où Microsoft avait bien pu cacher ça, puis tester en switchant entre style classique et XP et regarder où quelque chose changeait.

    Pour tout te dire, ça n'a pas été en 5 minutes


    Alain

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

Discussions similaires

  1. [VB 2005]fenêtre recherche de fichier style windows
    Par Yanos dans le forum Windows Forms
    Réponses: 10
    Dernier message: 28/07/2009, 11h34
  2. dtree arboressance style windows explorer - Javascript
    Par free_kar dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/10/2006, 21h07
  3. [VB.NET]Handle Windows & Handle dot net
    Par olixelle dans le forum Windows Forms
    Réponses: 2
    Dernier message: 25/09/2006, 18h00
  4. [vb.net]style des interfaces
    Par roxanne dans le forum Windows Forms
    Réponses: 12
    Dernier message: 11/06/2006, 11h33
  5. [VB.NET] Volume windows
    Par Torkan dans le forum Windows Forms
    Réponses: 2
    Dernier message: 09/05/2006, 04h43

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