I have just finished a small include file that can help create buttons with both icons and text. The buttons are theme aware, so they will look and behave exactly like the ones that are drawn by the system. The code should work on all major OS's (tested on NT4, 98, 2K, XP, Vista, 7, 32 bit only). Unicode is also supported. Please note that this is the first time I use GDI all by myself so there could be leaks inside the code (although there were no obvious ones I could spot). If you see anything that doesn't fit please let me know.
Screenshot:

License:
The include is licensed under the Zlib license.
Download:
Here's where you can download the package from :
Size: 7.16 KB
MD5: 8A8B251AB7D8B776C315607BD2F6BB6E
URL: http://www.bytessence.com/download/temp ... dgetEx.zip
Changelog:
I hope this will be useful to someone* Version 0.4, 02 Jun 2010
- Made some minor changes, made possible to use this include with more than 1 window callback
* Version 0.3, 09 Feb 2010
- Added a 'disabled' state for the icon when the buttons are disabled (uses the DrawState API call - ugly but works)
- Made some optimizations, removed the #ODS_DEFAULT state (it is never used for the buttons it seems). Now the buttons also show the focus state correctly
* Version 0.2, 08 Feb 2010
- Implemented SetProp/GetProp calls instead of the linked list (thanks to Srod for the suggestion)
* Version 0.1, 07 Feb 2010
- First release
