2010-03-25 4 views
0

Я в основном хочу упростить процесс, просто связав LinkButtons вместо создания текстовых полей, потому что кнопки ссылок уже запрограммированы.Могу ли я создавать LinkButtons, которые обертываются как текстовые поля?

Но у меня много текста, и он просто продолжается. Я хочу, чтобы он был завершен, как я могу делать с текстовыми полями.

Благодаря

package { 
import mx.controls.LinkButton; 
import flash.text.TextLineMetrics; 

public class multiLineLinkButton extends LinkButton { 
     override protected function createChildren():void { 
      super.createChildren(); 
      if (textField){ 
       textField.wordWrap = true; 
       textField.multiline = true; 

      } 
     } 

     override public function measureText(s:String):TextLineMetrics { 
      textField.text = s; 
      var lineMetrics:TextLineMetrics = textField.getLineMetrics(0); 
      lineMetrics.width = 700; 
      lineMetrics.height = textField.textHeight; 


      return lineMetrics; 
     } 
} 

}

Это компонент, но, как я сказал, что все автоматически центрируется.

Я пробовал paddingLEFT = 0; и пытается установитьStyle («paddingLEFT», 0); но эти методы не работают.

var test:multiLineLinkButton = new multiLineLinkButton(); 

     test.label = "sdfdsfdsfdsfsdfsdfsdfdsfsdfdsfdsdsfdsfdsfdffsdfdsfdfdsfdsfdsfdsfdsfdsfsdfdsfdfdsfdfdsfdsfsdfsdfsdf"; 
     test.setStyle("textAlign","left"); 

     var metrics:TextLineMetrics = measureText(test.label); 

     trace(metrics.height); 
     myCanvas.addChild(test); 

так metrics.height дает мне высоту 14, который я считаю одну строку, даже если она оборачивает.

+0

Позволяет увидеть код позади класса multiLineLinkButton, что будет как мы выясняем ваш вопрос о высоте. – invertedSpear

+0

Извините, первый фрагмент кода выше - multiLineLinkButton. – Adam

+0

Дух, я должен был это увидеть. Итак, вот что вы делаете. 1) Дайте вашему текстовому полю имя. 2) напишите публичную функцию, назовите ее чем-то вроде getHeight(). 3) эта функция возвращает высоту вашего текстового поля с помощью getchildbyname. Теперь у вас есть функция, которую вы можете вызвать из основного приложения, которое вернет высоту, которую вы ищете. – invertedSpear

ответ

2

Этот парень сделал это: http://ooine.com/index.php/2009/10/12/flex-linkbutton-word-wrap/

FYI, это был первый удар по Google для поиска «прогибается LinkButton перенос слов»

+0

Спасибо. Это приводит меня к другому вопросу. Как вы используете компоненты в тегах script/actionscript – Adam

+0

получил это var hey: multiLineLinkButton = new multiLineLinkButton(); Спасибо – Adam

+0

Я пробовал код, и он работает несколько. По какой-то причине границы текста составляют около 50 пикселей в ширину. Я увеличил .width, но все, что он сделал, это увеличение ширины прокрутки, а не фактического текста. – Adam

Смежные вопросы