Je voudrais qu'un textfield dont le texte est (un peu) variable occupe toujours la même largeur à l'écran.
Il faut donc modifier la taille de la police jusqu'a atteindre la bonne taille.
J'ai donc fait une boucle de type :
var DatFormat=new TextFormat();
if (TextDat.textWidth<500) {
while (TextDat.textWidth<500) {
DatFormat.size= TextDat.getTextFormat().size+1;
TextDat.setTextFormat(DatFormat);
}
}
else if (TextDat.textWidth>500) {
while (TextDat.textWidth>500) {
DatFormat.size= TextDat.getTextFormat().size-1;
TextDat.setTextFormat(DatFormat);
}
}
Le seul problème est que TextDat.textWidth ne s'incrémente pas lors de l'aggrandissement de la police.
Du coup ca tourne en boucle et j'ai envie de me pendre.
Merci de me dire ce qui cloche dans mon code.
Publicité
Posté le 28-11-2006 à 17:24:01
croli
Posté le 28-11-2006 à 17:31:11
euh j'ai l'impression que ton TextDat.textWitdth ne s'incrémente pas, donc ca tourne en boucle ?
aprilthe5ith
Posté le 28-11-2006 à 17:36:01
EXACTEMENT !!
croli
Posté le 28-11-2006 à 17:38:50
oups désolé ce que je veux dire c'est que l'agrandissement de ta police n'influe pas sur textwitdth durant la boucle
désolé
aprilthe5ith
Posté le 28-11-2006 à 17:43:05
I roger that...
Mais je fais comment, alors, bon sang de bon soir ?
aprilthe5ith
Posté le 28-11-2006 à 17:44:28
A noter que même lorsque je trace ce satané TextDat.textWitdth hors de la boucle il ne s'incrémente pas pour autant.
croli
Posté le 28-11-2006 à 17:54:33
et à la base il a une valeur ou pas ?
Zedlefou
In cabbage we trust !
Posté le 28-11-2006 à 17:55:58
Heuu bah c'est normal que ça marche pas. Tu fais pas du tout ce qu'il faut.
textWidth ?? tu fais quoi avec ça ? La largeur de ton bloc texte ne va jamais changer en changeant la taille de la police. Ou alors il manque un gros bout de code que tu n'as pas remis ici avec un autoSize ou un createTextField (ou les 2)
Il devrait donc augmenter avec la taille de la police.
Mais il reste fixe.
Si vous avez d'autres solutions... je vous écoute.
aprilthe5ith
Posté le 28-11-2006 à 18:14:12
Pour info :
si je trace TextDat.textWidth avant la modif de la police, la longueur en px est bonne.
Après la modif (+5pts), il ne change pas, avec ou sans boucle.
Publicité
Posté le 28-11-2006 à 18:14:12
aprilthe5ith
Posté le 28-11-2006 à 18:41:27
Alors, pour ceux que ca interresse, je viens de me rendre compte que cela provenait du fait que le texte est réellement dynamique (s'il est "statique" ou "dynamique" mais qu'il ne change en fait pas, tout va bien...)