Please have a look at this screenshot

[alt text http://www.maclife.com/files/u18/Yep3-big.jpg](http://www.maclife.com/files/u18/Yep3-big.jpg)

I think these are the main features of such a 'tag panel':

1) Each tag on the panel is a standalone control and can be clicked

2) Auto line wrapping when there is not enough space to show the next tag in the current line.

3) Rounded corner rectangle border for each tag is a nice-to-have feature. 

I want to implement the similar function in Delphi, Is there an existing control to do this? If not, what's the best way to implement such a control?

Thank you.