关于WINDOWS程序开发中的WM_PAINT消息处理的问题

在这个程序中InRepaint这段字符是写在WM_PAINT中的而OutRePaint这串字符时写在WM_LBUTTONDOWN这个消息中的当我点击鼠标左键的时候就出现了... 在这个程序中 InRepaint这段字符是写在WM_PAINT中的
而OutRePaint这串字符时写在WM_LBUTTONDOWN这个消息中的
当我点击鼠标左键的时候就出现了OutRePaint,
当我扩大窗体或者缩小窗体的时候OutRePaint就消失了,这些都符合情理
但是当我移动窗体的时候 或者当我用其他窗体挡住这个窗体然后再露出这个窗体的时候OutRePaint都没有消失 这是为什么啊? 按理来说 触发了了WM_PAINT消息了 就应该重绘啊 然后就应该只剩下InRePaint了啊 可是OutRePaint始终都在
展开
 我来答
skypiear
2012-11-12 · TA获得超过232个赞
知道小有建树答主
回答量:110
采纳率:0%
帮助的人:118万
展开全部
我做了个和你一样功能的程序试了下得出的结论是:
当你在扩大或缩小窗口的时候,它会重绘,因为窗口发生了变化;
当你在移动窗口的时候,并且没有使得窗口有部分被挡住的情况下(也就是你怎么移动这个窗口还是在屏幕中完全显示),那么它是不会重绘的;
当你移动窗口到边缘,使得部分窗口被挡住,当你拉一小部分出来时,窗口会重画,但是重画的范围仅仅是拉出来的那一小部分,并不是整个窗口一起重画,这也就是为什么,你左键消息输出的字符没有消失的原因,如果你把那个字符给挡住了,在拉出来,那么这个字符肯定就没有了。同理,你去用别的窗口去档这个窗口也是同样的道理。
想更形象的理解,你可以在WM_PAINT消息的处理函数中,使用AfxMessageBox()来中断下,你会很明显看到他的绘制过程,over
ztx7908
2012-11-05
知道答主
回答量:14
采纳率:0%
帮助的人:14.4万
展开全部
TRACE一下看看有没有进入paint
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式