ScrollPaneのスクロールバーの再描画

ScrollPane.contentで取得したスクロールペインにロードされたコンテンツへの参照に対してattachMovieなどをしてコンテンツを大きくしたり小さくしたりした場合、そのままだとスクロールバーの長さや位置が再計算されない。

ヘルプにあるようにScrollPane.redraw()やScrollPane.refreshPane()を呼び出しても再計算されない。どうやって再計算させるんだーと思って、ScrollPaneクラスのソースを見てみたらsize(Void):Voidメソッドを発見。publicなメソッドなのになんでヘルプに載ってないんだろう?とか思いつつ呼び出してみたらスクロールバーが再計算された。

本当はScrollPane.content = createEmptyMovieClip(...);とやって新しく参照を設定したいけど、contentは読み取り専用。外部から参照を設定する方法が無いので適当に参照を設定しておいて、その参照に対していろいろイヂる事にした。ソースを見ると内部変数のspContentHolderにMovieClipが設定できればいいから、スクリプト上から参照を設定できるかもしれない。これは後ほど試してみるとする。