I don't have any idea what vcedebugger means by "Refresh()", but your flickering is probably because by default, windows erases the background first before painting anything onto the client DC. As for anything else, please post actual working code (with code tags). The above won't compile, has typos, and many missing variables/defines.