| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 702 人关注过本帖
标题:关于窗体重绘的问题。
只看楼主 加入收藏
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
结帖率:100%
收藏
已结贴  问题点数:10 回复次数:8 
关于窗体重绘的问题。
借问一下,晚生在子窗体上进行了一些绘图,使用InvalidateRect之后再BeginPaint和EndPaint.以上这些过程都在WM_PAINT分支以外进行,而WM_PAINT里面只画了背景色。结果导致窗体最小化或被覆盖之后被重画时只能重画WM_PAINT下面的内容,即背景色。其他过程里画的内容都没有了。有没有大神知道这个问题怎么解决,请解答一下,谢谢。
搜索更多相关主题的帖子: 背景色 
2015-03-29 10:36
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
跟据网上一些码友的说法,把WM_PAINT以外的绘图过程从BeginPaint改成了GetDC,这样被遮挡后重绘的问题已解决。但最小化再还原后仍然不能重画。
2015-03-29 22:52
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:5 
为什么不写在 WM_PAINT 的函数中呢?
2015-03-30 08:22
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
写在WM_KEYDOWN中的,随着键盘事件发生变化。绘图内容是千变万化的。
2015-03-30 13:36
wmf2014
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:216
帖 子:2039
专家分:11273
注 册:2014-12-6
收藏
得分:5 
在WM_SIZE里getdc

能编个毛线衣吗?
2015-03-30 16:24
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 4楼 yangfrancis
不管你绘图变不变,依然写在 WM_PAINT 中。
2015-03-30 16:25
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 5楼 wmf2014
GetDC了还是不行,之后是不是还要其他操作?
2015-03-30 22:18
yangfrancis
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:贵宾
威 望:141
帖 子:1510
专家分:7661
注 册:2014-5-19
收藏
得分:0 
回复 6楼 rjsp
考虑过写在WM_PAINT中,但具体到我这个案例中可操作性确实太低了。
2015-03-30 22:22
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9025
专家分:54030
注 册:2011-1-18
收藏
得分:0 
回复 8楼 yangfrancis
不明白有什么难操作的,这是唯一正确的方法。

WM_KEYDOWN: 设置当前状态,并调用 InvalidateRect 等方法
WM_PAINT: 根据当前状态作图
2015-03-31 08:19
快速回复:关于窗体重绘的问题。
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.037158 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved