none
Tabpage, dimensionnement en fonction du texte RRS feed

  • Question

  • Bonjour,

    J'ai fait passer mon TabControl en DrowMode : OwnerDrawFixed.

    J'arrive à afficher du texte, à mettre en couleur le fond du tab, ... Mais je n'ai pas réussi à redimensionner automatiquement le tab en fonction du texte qu'il y avait à l'intérieur.

    Est ce que quelqu'un saurais comment faire ?



    Merci,
    Adrien Pellegrini.
    vendredi 25 avril 2008 19:07

Réponses

  • Bonsoir,

     

    C'est Windows qui gère cela de manière automatique.

    Il n'est pas possible (et je n'ai pas trouvé de fonction/messages dans le SDK de Windows) de changer la largeur des Item un par un...

    Vous êtes donc obligé de jouer avec ItemSize et Padding.

     

    Cordialement

     

    samedi 26 avril 2008 19:50
    Modérateur

Toutes les réponses

  • Bonjour,

     

    Il faut que vous sachiez que sous Windows il n'est pas possible de modifier la largeur des TabPage un par un.

    Vous pouvez uniquement le faire pour tous les TabPage via la propriété ItemSize et SizeMode = Fixed.

     

    Pour mesurer la longueur d'un texte, utilisez la méthode Graphics.MeasureString() qui permet de mesurer la longueur d'une chaine en fonction d'une police dans un Graphics spécifique.

     

    Cordialement

     

    samedi 26 avril 2008 16:08
    Modérateur
  • Pourtant quand on utilise les tabpage normales (donc sans le DrowItem), ca redimensionne bien automatiquement la taille de la tabpage en fonction du texte à l'intérieur. Je ne vois d'ailleurs pas pourquoi quand on passe avec DrawItem, ca ne le fait pas tout seul.
    samedi 26 avril 2008 17:52
  • Bonsoir,

     

    C'est Windows qui gère cela de manière automatique.

    Il n'est pas possible (et je n'ai pas trouvé de fonction/messages dans le SDK de Windows) de changer la largeur des Item un par un...

    Vous êtes donc obligé de jouer avec ItemSize et Padding.

     

    Cordialement

     

    samedi 26 avril 2008 19:50
    Modérateur
  • Ok, merci de votre réponse.
    S'il n'y a rien d'autre à faire je vais essayer de me débrouiller avec cela.

    Adrien Pellegrini.
    samedi 26 avril 2008 20:00