I am sorry but I am away from my normal workstation, so I at this moment don't have access to my code. What I described is kind of involving, and it doesn't consists of just a few lines of code, so I cannot reproduce it right now. You need to create a CBitmapButton derived class, and then override DrawItem if I remember it correctly. Then you need to use BitBlt to perform bitwise operations. However, to avoid flicker you should not write directly to the target device. You should create a bitmap in the memory and perform the operations there. Sorry that I cannot help you with source code.:( // Afterall, I realized that even my comment lines have bugs When one cannot invent, one must at least improve (in bed).-My latest fortune cookie