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属性,影像残留得到了解决。
最近为了美化程序,需要在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属性,影像残留得到了解决。
相关文章推荐
- Eclipse调试:改变颜色, 背景与字体大小 和xml字体调整
- 随意改变Dialog大小与位置
- 如何让弹出的Dialog的背景框颜色不改变?
- opencv2.4改变图像的大小
- 改变背景图像后如何消除各控件的背景颜色
- 创建画线控件窗口大小改变引起的重绘,保存图像问题。
- Eclipse调试:改变颜色, 背景与字体大小 和xml字体调整
- 改变背景图像或颜色
- 旋转翻转UIImage 不是UIImageView 适用于源图像的处理,例如截图后旋转----改变图片大小
- Eclipse调试:改变颜色, 背景与字体大小 和xml字体调整
- iOS中通过设置CSS改变WebView字体大小,颜色,背景颜色
- 自动调节图像的对比度 和改变图像的大小
- jQuery学习笔记31--改变字体大小.颜色,背景
- Eclipse调试:改变颜色, 背景与字体大小 和xml字体调整
- 如何改变Android Dialog弹出后的Activity背景亮度
- (转帖)怎样改变.chm文档的字体大小、背景颜色
- winform控件大小改变是防止背景重绘导致的闪烁(转载)
- Extjs实现鼠标拖拽改变图像大小
- Android中自定义Activity和Dialog的位置大小背景和透明度等
- C# (GDI+相关) 图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)