cs_magslide
Messages postés6Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention28 septembre 2010
-
1 juil. 2010 à 00:44
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 2015
-
1 juil. 2010 à 12:09
Bonjours tous le monde !
Je voudrais savoir si sous vb6 on peut adapté la largeur (width) d'un checkbox (le programme étant bien sur en cours d'exécution) en fonction d'un nouveau texte (Caption) que l'on envoi à se dernier au cour de l'exécution du programme.
Le problème est que si la largeur du checkbox est trop petite pour contenir le texte envoyé, ce dernier s'écrit sur plusieurs ligne (si possible suivant la hauteur définit du checkBox) et le texte se trouve tronqué pour les lettres en trop.
Comment connaitre la largeur que ce contrôle aura avec son nouveau texte pour pouvoir modifier exactement la largeur ?
Merci beaucoup de m'avoir lu !!
Merci aussi pour votre aide.
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 1 juil. 2010 à 10:18
Salut
Et pourquoi ne donnes-tu pas une largeur plus importante à la CheckBox ?
En VB6 (pas en VBA), tu peux faire comme ça :
En général, on n'écrit jamais sur le fond d'une forme elle même. On va donc utiliser ces propriétés :
Dans les propriétés de ta forme, tu mets les même propriétés de Fonte que celles de ta CheckBox (Police, taille, gras, ...)
Quand tu veux connaître la longueur d'un texte, donc la largeur de ta CheckBox, il te suffit de le calculer avec :
maCheckBox.Width = maForme.TextWidth("mon texte à insérer") + 300
maCheckBox.Caption = "mon texte à insérer"
Le "+ 300", c'est à peu près la largeur de la case à cocher - à affiner si besoin
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_magslide
Messages postés6Date d'inscriptionmercredi 19 juillet 2006StatutMembreDernière intervention28 septembre 2010 1 juil. 2010 à 10:39
Merci beaucoup pour ta réponse !
En faite ce que je veux obtenir c'est un contrôle activex ressemblant à ça :
Ce contrôle contient un frame + 1 checkBox, cet exemple provient de Qt
Mon problème est que lorsqu'on choisit un titre plus ou moins long pour ce contrôle, la largeur de la checkBox doit pouvoir s'adapter sans pour autant effacer la bordure du haut comme sa :
et donc je pensé y arriver en adaptant le plus exactement possible la largeur de la checkBox. Je ne peux pas me permettre de donner une largeur plus importante comme tu me le propose...