There is an article here that would give you a start. Also try http://www.codeproject.com/KB/cpp/flatcombo.aspx

Alternately, one of the Resco controls such as advancelist MAY do what you need.