在WIN32编程中,BItBlt在哪些消息中才有用? 我试了下,WM_CREATE,WM_SIZE,都不行,而在WM_PAINT中能正常显示
3个回答
展开全部
你不在WM_PAINT中显示,
发生窗口创建、改变大小、被其他窗口覆盖等各种情况,系统都会发送WM_PAINT消息,而你不重绘,自然画好的内容就被刷掉了
发生窗口创建、改变大小、被其他窗口覆盖等各种情况,系统都会发送WM_PAINT消息,而你不重绘,自然画好的内容就被刷掉了
追问
谢谢,那么有什么好的办法解决吗?
追答
对于需要相对稳定绘制的,一定在ON_PAINt消息中处理,调用BitBlt,在别的地方仅设置一些标志,供ON_PAINT时参考。如果是希望立刻绘制的,可以设置完标志后,调用InvalidateRect函数,强制重新绘制。
对于临时性的绘制,可以GetDC后直接用BitBlt,但窗口重绘后就没有了。
根据需要选择应用场景。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我遇到了,但是不清楚。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询