在WIN32编程中,BItBlt在哪些消息中才有用? 我试了下,WM_CREATE,WM_SIZE,都不行,而在WM_PAINT中能正常显示

 我来答
linux001
2012-07-27 · TA获得超过1401个赞
知道大有可为答主
回答量:1665
采纳率:100%
帮助的人:1363万
展开全部
在哪里都是可以正常使用的,只不过用在非WM_PAITN中,当区域需要重绘时,你所显示的东西就会消失。
追问
谢谢,那么请问下有什么解决方案吗?窗口肯定是需要更新的,
追答
重绘无效区域,或者直接写在WM_PAINT中。
百度网友6eab688
2012-07-27 · TA获得超过4691个赞
知道大有可为答主
回答量:962
采纳率:50%
帮助的人:949万
展开全部
你不在WM_PAINT中显示,
发生窗口创建、改变大小、被其他窗口覆盖等各种情况,系统都会发送WM_PAINT消息,而你不重绘,自然画好的内容就被刷掉了
追问
谢谢,那么有什么好的办法解决吗?
追答
对于需要相对稳定绘制的,一定在ON_PAINt消息中处理,调用BitBlt,在别的地方仅设置一些标志,供ON_PAINT时参考。如果是希望立刻绘制的,可以设置完标志后,调用InvalidateRect函数,强制重新绘制。

对于临时性的绘制,可以GetDC后直接用BitBlt,但窗口重绘后就没有了。

根据需要选择应用场景。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zhangcgzhe
2012-07-27 · 超过12用户采纳过TA的回答
知道答主
回答量:39
采纳率:0%
帮助的人:31.2万
展开全部
我遇到了,但是不清楚。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式