2009-12-22 4 views
0

Je développe maintenant une application Flex dans laquelle j'ai besoin de contrôler chaque pixel de mon contrôle de Flex. Je veux calculer comment la largeur et la hauteur de certains textes utilisés dans mon contrôle et faire des trucs de mise en page.Après quelques recherches, je trouve que la seule façon de dessiner du texte dans Flex est d'utiliser quelque chose comme TextField. Ainsi, j'utilise TextField pour afficher du texte et essayer d'obtenir la largeur et la hauteur du texte à travers:Un véritable appel drawText dans Flex?

textfiled.getLineMetrics (0) .width/.height;

Mais le vrai textfield est beaucoup plus grand que cela, donc je fais:

textfield.width = textfiled.getLineMetrics (0) .width; textfield.height = textfiled.getLineMetrics (0) .height; Mais, le champ de texte obtient une partie non affichée, et je suis surpris par cet effet. Je sais qu'il devrait y avoir une gouttière de 2 pixels autour du texte, mais quel est l'espace restant? Pourquoi près de 20% de la hauteur/largeur du texte ne sont pas affichés?

Et comment puis-je obtenir un véritable appel drawText dans Flex, je veux dire quelque chose comme méthode drawText Windows ...

Merci!

Répondre

0

S'il vous plaît essayer:

textfield.width = textfield.textWidth + 4;
textfield.height = textfield.textHeight + 4;

Je ne suis pas familier avec Windows' s drawText méthode donc je ne peux pas vous aider là-bas, mais peut-être que vous voulez jeter un oeil à la fonctionnalité de mise en page de texte stellar dans Flex 4.

+0

Oui, j'ai aussi essayé d'ajouter un peu plus d'espace pour le TextField et ça fonctionne dans une certaine mesure, merci! –

Questions connexes