In the category of the somewhat strange, what if you need to place a scroll bar on the left side of a Flex component? Or maybe you need a horizontal scroll bar at top instead of the bottom of a list? It is almost, but not quite, as simple as overriding updateDisplayList and moving the scroll bar, as I have seen mentioned elsewhere.
What is easy to miss is the effect on the viewMetrics property of ScrollControlBase. The viewMetrics is simply a borderMetrics that also accounts for the space used by any visible scrollbars. If you move the scrollbars you must also recalculate the view metrics to accurately account for their new positions.
The Flex 3 controls have hardcoded logic for scrollbars on the right and bottom, but placing them on the left or top is so easy it should really just be a matter of setting a style. The demo below does exactly that.
It uses a derived List class that adds two new styles -- horizontalScrollSide can be set to "top" or "bottom," and verticalScrollSide can be set to "left" or "right." The demo also shows the difference between the borderMetrics and viewMetrics using the radio buttons at the bottom.
Right-click to view or download the source code.