I'm Trying to Make a usercontrol that acts like a command button but looks nice

So far it looks lovely but i'm haveing trouble getting it to change its image quickly enough when the mouse goes down on it. at the moment I'v subclassed it and am catching the mousedown and mouseup messages and i'm just switching between 2 bitmaps using code similar to

Code:
selectobject(usercontrol.hdc,hNewBitmap)
usercontrol.refresh
This works quite well but it doesnt work fast enough to handle double clicks (It raises the event but doesn't go down and up twice)

if I remove the refresh command it does nothing as the button doesnt refresh and you can't see it do anything

Does anyone know how to solve this and make it work beutifuly.