您的位置:首页 > 其它

Dialog背景自绘 大小改变 原来图像残留

2014-08-29 13:57 295 查看

最近为了美化程序,需要在CDialog的派生类中自绘一些东西,其中最简单的自绘是在对话框客户区边沿画一些线条(在OnPaint中绘图),但是这种最简单的自绘也会产生问题,我的对话框是能改变大小的,当改变对话框大小的时候,总会残留改变大小之前的绘图,用Spy++查看对话框的Class Style,发现对话框在默认状态下的Class Style是CS_SAVEBITS和CS_DBLCLKS,并没有CS_VREDRAW和CS_HREDRAW,这样当对话框大小改变的时候,只有新增加的区域得到了重绘,而原来的区域保留了上次自绘时的状态,所以产生了残留,在OnInitDialog中调用

SetClassLong(m_hWnd,GCL_STYLE,CS_VREDRAW|CS_HREDRAW|CS_DBLCLKS);

人为的加上CS_VREDRAW|CS_HREDRAW属性,影像残留得到了解决。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: