I can do simple drag and drop operations on treeviews and lists etc.

But when dragging, you get a little semi transparent '+' icon.

What do I do to make the icon look like object you are dragging appear in that semi transparent state, or if not just the text of the item?

Plus any one know how I can allow a user to drag a button or something that looks like a button across the screen, i.e. pick up the object with it stuck to the mouse pointer and release it when the button is released.