
而OutRePaint这串字符时写在WM_LBUTTONDOWN这个消息中的
当我点击鼠标左键的时候就出现了OutRePaint,
当我扩大窗体或者缩小窗体的时候OutRePaint就消失了,这些都符合情理
但是当我移动窗体的时候 或者当我用其他窗体挡住这个窗体然后再露出这个窗体的时候OutRePaint都没有消失 这是为什么啊? 按理来说 触发了了WM_PAINT消息了 就应该重绘啊 然后就应该只剩下InRePaint了啊 可是OutRePaint始终都在
我做了个和你一样功能的程序试了下得出的结论是:
当你在扩大或缩小窗口的时候,它会重绘,因为窗口发生了变化;
当你在移动窗口的时候,并且没有使得窗口有部分被挡住的情况下(也就是你怎么移动这个窗口还是在屏幕中完全显示),那么它是不会重绘的;
当你移动窗口到边缘,使得部分窗口被挡住,当渗猛你拉一小部分出来时,窗口会重画,但是重画的范围仅仅是拉出来的那一小部分,并不是整个窗口一起重画,这也就是为什么,你左键消息输出的字符没有消失的原因,衫纤如果你把那个字符给挡住了,在拉出来,那么这个字符肯定就丛塌桥没有了。同理,你去用别的窗口去档这个窗口也是同样的道理。
想更形象的理解,你可以在WM_PAINT消息的处理函数中,使用AfxMessageBox()来中断下,你会很明显看到他的绘制过程,over
TRACE一下看看有没有进入paint