Adaptation au contenu

Résolu
XgaletteX Messages postés 102 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 12 août 2005 - 16 juin 2005 à 13:00
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 - 16 juin 2005 à 15:10
Bonjour,

je voulai savoir comment l'on pour adapter la taille d'un bouton a son contenu, c'est à dire au caption qu'il a ( ce caption étant variable)?
Et aussi pour un stringgrid, comment on peut adapter la taille de la grille au nombre de cellules( ce nombre étant variable)., c'est à dire que je veux, si j'ai par ex 10*10 cellules pouvoir voir toutes ces cellules lors de l'execution.

7 réponses

ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
16 juin 2005 à 14:49
Pour la dimension du bouton :

Je conseille plutôt d'utiliser la fonction TextWidth( ) qui renvoie la
taille du texte en pixels dans la police en cours sur un canvas plutôt
que la méthode de sim51 : en effet, un 'i' n'aura pas la même largeur
qu'un 'm'
Button1.Width := Canvas.TextWidth('Mon nouveau Texte')+20; // +20 pour laisser un espace à droite et à gauche du texte

Button1.Caption : = 'Mon nouveau Texte';



Pour la dimension de la StringGrid :

StringGrid1.Width : = StringGrid1.ColCount * (StringGrid1.DefaultColWidth + StringGrid1.GridLineWidth) +4;

StringGrid1.Height := StringGrid1.RowCount * (StringGrid1.DefaultRowHeight + StringGrid1.GridLineWidth) +4 ;

Le +4 s'explique par la prise en compte dans le calcul de la largeur de la bordure quand elle est normale ( bsSingle ) . Si on ne veut pas de bordure, autrement dit avec la propriété BorderStyle à bsNone, on peut faire plus simplement :

StringGrid1.Width : = StringGrid1.ColCount * (StringGrid1.DefaultColWidth + StringGrid1.GridLineWidth);


StringGrid1.Height := StringGrid1.RowCount * (StringGrid1.DefaultRowHeight + StringGrid1.GridLineWidth);


@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !



3
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
16 juin 2005 à 13:46
Salut,
Alors pour ton bouton c'est simple, tu peux connaitre la taille du text de ton bouton : length(bouton.caption) , de plus si tu connais la taille de ta police tu peux connaitre la taille d'un caractère et donc dimensionner la taille de ton bouton :
bouton.width:=longueur_caractere*length(bouton.caption)
De même pout ton stringGrid, tu peux connaitre le nombre le nombre de colonne et de ligne ( propriétés rowcont et colcount ) ainsi que la taille de chque colonne et ligne ( n'oublie pas la longueur des trait qui séparent les cellules ) et en applicant le même principe que pour le bouton, tu peux changer la taille de ton stringgrid pour qu'il apparaisse en entier.
stringgrid.width:=stringgrid.colcount*(longueur_colonne + stringgrid.gridlinewidth)
Bonne continuation.



N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
0
XgaletteX Messages postés 102 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 12 août 2005
16 juin 2005 à 14:02
Le probleme quand je fais ca ( je parle du stringgrid), il y a des scrollbar qui apparaisse car il y a du blanc autour de la grille .
0
XgaletteX Messages postés 102 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 12 août 2005
16 juin 2005 à 14:05
C en faite les valeurs de gridwidth et gridheigth qu'il faudrai modifier je pense mais elles sont en lecture seule
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_sim51 Messages postés 240 Date d'inscription dimanche 31 octobre 2004 Statut Membre Dernière intervention 31 décembre 2006 2
16 juin 2005 à 15:02
Coucou ni69,

Merci d'amélirer mes solutions lol, je connaissais pas la fonction textwidth(), alors je fais avec ce que j'ai

Allez a++

N'oubliez pas de cliquer sur réponse acceptée si la réponse vous convient !!!
0
XgaletteX Messages postés 102 Date d'inscription samedi 14 mai 2005 Statut Membre Dernière intervention 12 août 2005
16 juin 2005 à 15:03
G fait ce que tu viens d'écrire, mais le problème comme je l'ai dis un peu plus haut c'est la taille de la grille, avec gridwidth et gridheigth, coment on peut modifier ses valeurs car il apparait un blanc.
0
ni69 Messages postés 1418 Date d'inscription samedi 12 juin 2004 Statut Membre Dernière intervention 5 juillet 2010 12
16 juin 2005 à 15:10
lol sim51



XgaletteX : Si tu ne veux aucun contour, mets la propriété BroderStyle à bsNone... et adapte avec le deuxième code que je t'ai donné

@+
Bonne Prog'
Nico [www.ni69.new.fr]
<hr size="2" width="100%">


N'oubliez pas de cliquer sur Réponse acceptée lorsque la réponse vous convient !

0
Rejoignez-nous