2009-06-10 2 views

答えて

2

は、次のアプローチを試みることができます。

<mx:TextArea id="area1" verticalScrollPolicy="off" verticalScrollPosition="{area2.verticalScrollPosition}" /> 
<mx:TextArea id="area2" /> 

そのようにエリア2には、スクロールバーを持っていますし、AREA1はしません。また、ユーザーがarea2をスクロールすると、この2つの領域が一緒にスクロールされます。

+0

お返事ありがとうございます。 これは私のために働く。 よろしく、 Shivang – shivang

1

@Hrundikこれは、テキスト領域の内容とサイズが等しい場合は良いアプローチですが、そうでない場合は、area2のverticalScrollPositionがarea1の最大値より大きい場合に実行時エラーが発生します。ですから、これを処理し、area1.maxScrollPosition> area2.verticalScrollPositionをチェックしてからarea1スクロール位置を設定する関数を作成します。

別のアプローチ....

はただ一度、行ってこれですか、あなたは再利用する予定ですか?

あなたが広がりそうのようなのparamaterとしてターゲットテキストエリアを取るためにtextareaでき

private var _target:TextArea; 

public function set target(val:TextArea):void{ 
    _target = val; 
} 

そのように....

override protected function srollHandler(event:Event):void{ 

    super.scrollHandler(event); 

    if(event is ScrollEvent && _target != null) 
    _target.verticalScrollPosition = super.textField.scrollV - 1; 

} 

が最終的にそのように使用のようなsrollHandler関数をオーバーライドします。 ...

<shua:TextAreaExtend text="{someText}" target="{myBuddy}"/> 
<mx:Text id="myBuddy" /> 

それはオーバーヘクタール...

を殺すかもしれません
+0

ありがとうShua。 これは良いapporachです。人々を助けてください。 よろしく、 Shivang – shivang

1

2つのスクロールコントロールの高さが同じでない場合でも、verticalScrollPositionを絶対値ではなくパーセンテージとして取得して使用することで、一方を上下にバインドできます。

乾杯

関連する問題