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.
You could also provide a custom button skin for either case, which would be accessible by changing the styleName. This would potentially be lighter weight than user294702's solution.

For example, using dummy names for source and symbols:

```
.comboBoxWithArrow {
  up-skin: Embed(source="graphics.swf",symbol="comboArrowUp");
  down-skin: Embed(source="graphics.swf",symbol="comboArrowDown");
  over-skin: Embed(source="graphics.swf",symbol="comboArrowOver");
  disabled-skin: Embed(source="graphics.swf",symbol="comboArrowDisabled");
  /* and any other skin states you want to support */
}

.comboBoxWithoutArrow {
  up-skin: Embed(source="graphics.swf",symbol="comboNoArrowUp");
  down-skin: Embed(source="graphics.swf",symbol="comboNoArrowDown");
  over-skin: Embed(source="graphics.swf",symbol="comboNoArrowOver");
  disabled-skin: Embed(source="graphics.swf",symbol="comboNoArrowDisabled");
  /* and any other skin states you want to support */
}

```

If your conditions warrant it, set the styleName to the one that shows the arrow, otherwise set it to the one that shows no arrow.