none
[VB 2005 Express] Problème d'affichage d'un contrôle en relief. RRS feed

  • Question

  • Bonjour,

    J'ai installé VB 2005 Express.

    Les contrôles TextBox avec la proprété BorderStyle = Fixed3D ne s'affiche pas en relief 3D.

    Sur un contrôle Label ca marche bien.

    Comment faire pour afficher les contrôles CheckBox et RadioButton en relief 3D.

    A moins que l'aspect 3D ne soit plus comme dans les vieilles versions.

     

    Merci.

    lundi 4 février 2008 22:27

Réponses

Toutes les réponses

  • Bonjour,

     

    voir le lien :

    http://msdn2.microsoft.com/en-us/library/system.windows.forms.textboxbase.borderstyle(VS.80).aspx

    et

    http://msdn2.microsoft.com/en-us/library/system.windows.forms.application.enablevisualstyles(VS.80).aspx

     

    Il me semble avoir vu que le problème est apparu depuis l'arrivée de Windows XP

     

    Bonne journée

     

    dimanche 10 février 2008 16:32
  • Bonjour,

    merci pour votre réponse.

     

    J'ai créé avec l'interface VB 2005 Express un nouveau projet ApplicationWindows.

    J'ajoute dans Form1 un contrôle TextBox avec la propriété BorderStyle=Fixed3D.

     

    D'après ce que je comprend, il faut ajouter    System.Windows.Forms.Application.EnableVisualStyles()

    Où et comment doit-on l'insérer ?

    j'ai essayé différentes manières (dont plusieurs sans erreurs), mais cela n'a jamais affiché le contrôle

    avec l'effet 3D.

    lundi 11 février 2008 21:08
  • Bonjour,

     

    Jetez un oeil sur

    http://msdn2.microsoft.com/en-us/library/system.windows.forms.application.enablevisualstyles(VS.80).aspx

     

    J'ai vu :

    Prior to the .NET Framework 2.0, the FlatStyle property of some controls, such as controls that derive from ButtonBase, had to be set to FlatStyle.System in order for the controls to be drawn with visual styles. In applications written with the .NET Framework 2.0, this is no longer necessary

     

    De toute façon, je ne sais pas comment on pourrait introduire EnableVisualStyles() avant la création du premier controle .

    Or, contrairement à VC#, où l'on a accès à la fonction initiale Main(), j'ai bien l'impression que VB la cache ( peut-être pour faciliter la tache du programmeur et ne pas le déranger )

     

    Je vais continuer à chercher une solution

     

    Remarque : j'ai essayé en VC# impossible d'avoir un aspect 3D pour les TextBox

     

    Bonne journée

     

    Rajout : voir ceci :

    http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2593176&SiteID=1

    lundi 11 février 2008 22:04
  • Bonjour,

     

    En affichant tous les fichiers de l'explorateur de solution il y a Application.Designer.vb dans lequel on voit ceci:

     

    <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _

    Public Sub New()

    MyBase.New(Global.Microsoft.VisualBasic.ApplicationServices.AuthenticationMode.Windows)

    Me.IsSingleInstance = false

    Me.EnableVisualStyles = true

    Me.SaveMySettingsOnExit = true

    Me.ShutDownStyle = Global.Microsoft.VisualBasic.ApplicationServices.ShutdownMode.AfterMainFormCloses

    End Sub

     

    Est-ce équivalent à :

               System.Windows.Forms.Application.EnableVisualStyles()

    mardi 12 février 2008 23:17
  • Bonjour,

     

    Je n'avais pas pensé à ce fichier.

    La réponse est OUI

    Il ne faut pas modifier ce fichier ce fichier en passant par Application.Designer.vb..

    Il faut passer par le menu Projet ==> Propriétés et regarder l'onglet Application. Les modifications sont à faire par cet onglet.

     

    Je pense que c'est un problème XP ( ou de configuration de XP )

     

    Bravo pour votre trouvaille

     

    Bonne journée

    mercredi 13 février 2008 06:10
  • Bonjour,

     

    Merci de ces tuyaux.

    Si on décoche 'Activer les styles visuels XP' les contrôles TextBox et CheckBox s'affichent bien en relief.

    Mais on n'a plus les effets visuels lorsque le pointeur passe sur les contrôles. 

    mercredi 13 février 2008 22:42