I'd recommend using ATL to create your control. Beginning ATL 3 COM Programming by Richard Grimes is a good book to get started with. I also found Programming Microsoft Visual C++ by Kruglinski to be useful. There are some good ATL/COM articles on CodeProject and there are some very cool button controls too. Michael :-)