Question: I have obtained the crosshair cursor from NSCursor crosshairCursor. Then, how can i change 

to it. I don't want to call enclosingScrollView to setDocumentCursor as

[[view enclosingScrollView] setDocumentCursor:crosshaircursor ];

Answer: 
I found out an easy way to do this:

setStyle("arrowButtonWidth", 0);

In my custom combobox, I set the initial width of the arrow button to 0.

Then in the List change event, 

```
  addEventListener(ListEvent.CHANGE, changeHandler);

```

if the size of the dataprovider is greater than 1, the arrow width is set back to (say) 20

```
  setStyle("arrowButtonWidth", 20);

```

This approach is much simpler than the above approaches. If you know any pitfall of my approach, please share.
How about creating a simple custom canvas with both components (textinput and combo) with two states.
You display the textinput in one state and the combo in the other state?

```
<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300">
    <mx:states>
        <mx:State name="combo">
            <mx:RemoveChild target="{textinput1}"/>
            <mx:AddChild position="lastChild">
                <mx:ComboBox x="48" y="10"></mx:ComboBox>
            </mx:AddChild>
        </mx:State>
    </mx:states>
    <mx:TextInput x="48" y="10" id="textinput1"/>
    <mx:Label x="10" y="12" text="Text"/>

</mx:Canvas>

```