
I didn't write the code myself as I already stated in the name. The original submission was made by fred cpp. I just added support for grayscale icon when enable property was set to false.
I don't need any vote, I added this functionality because I needed this control in my project + the fact that it does not look user friendly having a disabled button with a normal icon drawed in it :)
BTW The code added to the control was excerpted from vlad Memorydc class.