Guest User

Untitled

a guest
May 23rd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.86 KB | None | 0 0
  1. /*
  2. TextFieldとMinimalCompsのVScrollBarで手っ取り早く
  3. 日本語が使えるスクロールバー付きTextFieldを作るサンプル
  4. (MinimalCompsのTextAreaのソースコードを参考にしています)
  5. */
  6. package {
  7. import flash.display.Sprite;
  8. import flash.text.TextField;
  9. import flash.text.TextFieldType;
  10. import flash.events.Event;
  11. import com.bit101.components.VScrollBar;
  12.  
  13. public class ScrollableTextFieldSample extends Sprite {
  14. private var tf:TextField;
  15. private var vScrollBar:VScrollBar;
  16.  
  17. public function ScrollableTextFieldSample() {
  18. tf = new TextField();
  19. tf.text = "手っ取り早く日本語が使えるスクロールバー付きTextFieldが欲しい時のサンプルです。"
  20. + "ちょっと必要になったので作ってみました(とっくに誰か作ってそうな気もするけど)。"
  21. + "MinimalCompsのソースをいじれない環境でちょっと使う分にはそこそこ便利かと思います。";
  22. tf.y = 10;
  23. tf.border = true;
  24. tf.multiline = true;
  25. tf.wordWrap = true;
  26. tf.type = TextFieldType.INPUT;
  27. addChild(tf);
  28.  
  29. vScrollBar = new VScrollBar(this, tf.x + tf.width, tf.y, function(e:Event):void {
  30. // スクロールバーのスクロール時にTextFieldの位置を合わせる
  31. tf.scrollV = vScrollBar.value;
  32. });
  33.  
  34. vScrollBar.height = tf.height;
  35. tf.addEventListener(Event.SCROLL, function(e:Event):void {
  36. adjustScrollBar();
  37. });
  38. adjustScrollBar();
  39. }
  40.  
  41. /** TextFieldに合わせてスクロールバーを設定 */
  42. private function adjustScrollBar():void {
  43. var visibleLines:int = tf.numLines - tf.maxScrollV + 1;
  44. var percent:Number = visibleLines / tf.numLines;
  45. vScrollBar.setSliderParams(1, tf.maxScrollV, tf.scrollV);
  46. vScrollBar.setThumbPercent(percent);
  47. vScrollBar.value = tf.scrollV;
  48. }
  49. }
  50. }
Add Comment
Please, Sign In to add comment