打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Windows 消息 杂记
userphoto

2008.12.20

关注
默认规则是以WM_USER+X(WM_USER--0x7fff)用于窗口级的消息,WM_APP+X(WM_APP--0xbfff)用于进程级的消息.   


如果只是希望重绘一下的话,Invalidate();就可以了.
因为WM_PAINT是在窗口有“无效区域”时发出的。   
  如果我们不把该“无效区域”置为有效,则窗口将收到无穷无尽的WM_PAINT消息。   
  而BeginPaint函数可以将其置为有效。当然用ValidateRect也可以。   
    
  如果我们不也WM_PAINT的消息处理过程,DefWindowProc也会将其“无效区域”置为有效。   
    
    
  但是我还有一个疑问:   
    
  当我们在关闭窗口时,弹出一消息框,窗口的确需要重绘。   
  但是我们如果不将该无效区域置为有效,只会使WM_PAINT消息源源不断。   
  但应该不会影响消息框的绘制啊。   
  但是为什么消息框会看不见呢?   


不处理,则使用默认处理.   
  ps包括要画的区域.有了他才知道那里要画啊!

但是我们如果不将该无效区域置为有效,只会使WM_PAINT消息源源不断。   
  但应该不会影响消息框的绘制啊。   
  但是为什么消息框会看不见呢?   
  一直WM_PAINT,不将该无效区域置为有效,则一直没画,没画怎么会显示呢?

调用InvalidateRect或UpdateWindow让客户区无效,这将迫使WINDOWS把WM_PAINT放入应用程序消息队列,从而使得客户区重绘。  

把你的pen啦,brush啦,font啦,所有的都用实在变量,别用指针,不小心就会有内存泄漏,大耗资源。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
有效矩形和无效矩形
VC窗口刷新InvalidateRect和UpdateWindow
Invalidate()与UpdateAllViews()
VC Invalidate InvalidateRect UpdateWindow
Windows窗口刷新机制详解
Windows消息前缀
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服