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 :

[.Net 2.0 VB/C#] Changer l'apparence des bordures


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut [.Net 2.0 VB/C#] Changer l'apparence des bordures
    Hello,

    Afin d'obtenir un TabControl doté d'onglets sur la gauche avec un texte horizontal, j'ai dû intervenir sur l'événement DrawItem de TabControl comme suit :

    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
     
        Private Sub TabControl_DrawItem(ByVal sender As Object, ByVal e As System.Windows.Forms.DrawItemEventArgs) Handles TabControl.DrawItem
     
            ' Récupère la couleur d'avant-plan pour la "face" des boutons 3D, ainsi que le rectangle définissant
            ' la surface du contrôle, puis peint le contrôle
            e.Graphics.FillRectangle(SystemBrushes.Control, e.Bounds)
     
            'Crée une classe décrivant le formatage de chaînes de texte
            Dim sf As New StringFormat(StringFormatFlags.NoWrap)
     
            'Définit le positionnement vertical des chaînes de texte (ici, centré)
            sf.Alignment = StringAlignment.Center
     
            'Définit le positionnement horizontal des chaînes de texte (ici, centré)
            sf.LineAlignment = StringAlignment.Center
     
            'Ecrit sur l'onglet "repeint" la chaîne de texte qui avait été définie pour ledit onglet
            'Paramètre 1 : Texte  assigné  à l'onglet qui est en train d'être dessiné
            'Paramètre 2 : Police assignée à l'onglet qui est en train d'être dessiné
            'Paramètre 3 : Rectangle de l'onglet défini par une structure de 4 flottants
            'Paramètre 4 : Formatage désiré
            e.Graphics.DrawString(TabControl.TabPages(e.Index).Text, e.Font, _
                                  SystemBrushes.ControlText, RectangleF.op_Implicit(e.Bounds), sf)
     
        End Sub
    Mais cela présente en l'occurence quelques problèmes :

    - en définissant la propriété DrawMode du TabControl sur OwnerDrawFixed, je pers le "look" des IHM XP, pour revenir à celui de 2000; j'ai trouvé un code qui résoud le problème, mais uniquement pour un TabControl standard, et pour .Net 1.x, semble-t-il

    - dimensionnant la taille des onglets à ma guise (afin que leur hauteur cumulée soit égale à celle du TabControl), je voudrais bien également augementer la taille des bordures 3D, car elle me semble à présent ridicule vis-à-vis des énormes onglets tout carrés. A défaut, j'aimerais me débarasser complètement des onglets

    - je n'arrive pas, avec mes onglets, à remplir toute la hauteur du TabControl. Avant que je n'ai pu atteindre la hauteur totale, Visual me commence une seconde colonne d'onglets

    Merci pour votre aide.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Up

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    2 766
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 2 766
    Par défaut
    Up

Discussions similaires

  1. Changer la couleur des bordures d'un rectangle
    Par yoyoz dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/03/2011, 17h25
  2. Changer l'aspect des bordure de fenêtre
    Par Polux000 dans le forum Agents de placement/Fenêtres
    Réponses: 1
    Dernier message: 13/07/2010, 09h32
  3. Changer l'apparence des applications Delphi
    Par PiPo123 dans le forum Composants VCL
    Réponses: 6
    Dernier message: 18/09/2008, 18h13
  4. Changer l'apparence des fenêtres
    Par Veler dans le forum VB.NET
    Réponses: 12
    Dernier message: 07/02/2008, 11h48
  5. Changer la couleur des bordures, lignes et Cie
    Par Emplyst dans le forum BOUML
    Réponses: 1
    Dernier message: 30/04/2007, 20h04

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