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

VB 6 et antérieur Discussion :

Ajuster une Picturebox à son contenu


Sujet :

VB 6 et antérieur

  1. #1
    Membre du Club
    Ajuster une Picturebox à son contenu
    Bonjour,
    Je ne comprends pas, j'ai pourtant déjà pas mal travaillé avec des picturebox !
    Je voudrais ajuster la taille d'une Picturebox au texte que j'y imprime.
    voici le code, Legend est la picturebox avec ScaleMode = 3 - Pixel

    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Htext = le texte à imprimer sur la légende
    Legend.CurrentX = 0: Legend.CurrentY = 0
    Legend.Print Htext
     
    Legend.Width = Legend.TextWidth(Htext)
    Legend.Height = Legend.Textheight(Htext)

    mais la picturebox est moins large et moins haute que le texte !

    Merci d'avance pour vos réponses

  2. #2
    Modérateur

    Il faut imprimer après avoir redimensionné le PictureBox. Par exemple :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        Htext= "le texte à imprimer sur la légende"   
        Legend.CurrentX = 0: Legend.CurrentY = 0
        Legend.Width = Legend.TextWidth(Htext) 
        Legend.Height = Legend.TextHeight(Htext)
        Legend.AutoRedraw = True
        Legend.BorderStyle = 0
        Legend.Appearance = 0
     
        Legend.Print Htext
    Ne pas oublier le tag si satisfait.
    Voter pour toute réponse satisfaisante avec pour encourager les intervenants.
    Balises CODE indispensables. Regardez ICI
    Toujours utiliser la clause Option Explicit(VBx, VBS ou VBA) et Ne jamais typer variables et/ou fonctions en VBS.
    Vous pouvez consulter mes contributions
    Ne pas oublier de consulter les différentes FAQs et les Cours/Tutoriels VB6/VBScript
    Ne pas oublier L'Aide VBScript et MSDN VB6 Fr

  3. #3
    Membre du Club
    Bonjour,
    Je n'avais pas vu ta réponse parce que je ne reçois pas les notifications.
    Je n'ai pas essayé parce qu'entre temps j'ai trouvé autre chose : Legend.TextWidth(Htext) se réfère à ScaleWidth
    alors que Width est en twips
    donc j'ai défini le même ScaleWidth que le graph sur lequel j'affiche ma légende ce qui met ScaleMode à zéro
    et ça fonctionne.