VScrollBar(垂直の ScrollBar)コントロールおよび HScrollBar(水平の ScrollBar)コントロールを使用すると、データが多すぎて表示領域に収まらない場合に、表示される部分のデータを制御できます。
VScrollBar コントロールと HScrollBar コントロールをスタンドアローンのコントロールとして使用することもできますが、通常は、スクロール機能を実装したカスタムコンポーネントとして、他のコンポーネントと一体化されています。詳細については、『Adobe Flex 3 コンポーネントの作成と拡張』を参照してください。
ScrollBar コントロールは、2 つの矢印ボタン、1 つのトラックおよび 1 つのサムの合計 4 つのパーツで構成されます。サムの位置とボタンの表示は、ScrollBar コントロールの現在の状態に依存します。コントロールの幅は、サブコンポーネント(矢印ボタン、トラックおよびサム)の最大幅と同じになります。サブコンポーネントはすべて、スクロールバーの中央に配置されます。
ScrollBar コントロールでは、表示状態を計算するために次の 4 つのパラメータが使用されます。
次の例に示すように、ScrollBar コントロールは、<mx:VScrollbar> タグ(垂直スクロールバーの場合)または <mx:HScrollBar> タグ(水平スクロールバーの場合)を使用して MXML 内で定義します。MXML で他の場所(別のタグ内または ActionScript ブロック内)にあるコンポーネントを参照する場合は、id 値を指定します。
<?xml version="1.0"?>
<!-- controls\bar\SBarSimple.mxml -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
import mx.events.ScrollEvent;
// Event handler function to display the scroll location.
private function myScroll(event:ScrollEvent):void {
showPosition.text = "VScrollBar properties summary:" + '\n' +
"------------------------------------" + '\n' +
"Current scroll position: " +
event.currentTarget.scrollPosition + '\n' +
"The maximum scroll position: " +
event.currentTarget.maxScrollPosition + '\n' +
"The minimum scroll position: " +
event.currentTarget.minScrollPosition;
}
]]>
</mx:Script>
<mx:Label
width="100%"
color="blue"
text="Click on the scroll bar to view its properties."/>
<mx:VScrollBar id="bar"
height="100%"
minScrollPosition="0"
maxScrollPosition="{this.width - 20}"
lineScrollSize="50"
pageScrollSize="100"
repeatDelay="1000"
repeatInterval="500"
scroll="myScroll(event);"/>
<mx:TextArea id="showPosition"
height="100%" width="100%"
color="blue"/>
</mx:Application>
前の例で実行する SWF ファイルは以下のとおりです。
ScrollBar コントロールは、上下の矢印ボタンよりも小さいサイズで表示しようとした場合、正しく表示されません。この状態に対するエラーチェック機構は存在しません。このような場合は、ScrollBar コントロールを非表示にすることをお勧めします。サムを表示するだけの領域がない場合、サムが非表示になります。
マウスボタンで ScrollBar コントロールの各部分をクリックすると、リスナーに対してイベントが送出されます。ScrollBar コントロールのイベントを待機するオブジェクトによって、表示するデータの領域が更新されます。スクロール操作が実行されると、ScrollBar コントロールの表示が新しい状態を反映するように更新されます。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート