摘要:
文章愿意和大家分享,但是转载请注明出处!如果windows一直存在下去,窗口这个话题也许是永恒的……1. 一切皆窗口在我看来桌面上的一切都是窗口,桌面本身是窗口,开始菜单是窗口,桌面上永远置顶的播放器是个置顶的窗口,工具栏是个子窗口…….不仅我这么看,Spy++也这么看,如下图:图 1‑1 Spy++和桌面一切都是窗口,窗口错落有致,成为界面树上的翩翩叶子,组织成了我们所看到的整个Windows系统用户界面。我们首先通过一个普普通通典型的窗口,来分析一下窗口的组成:图 1‑2 普普通通的窗口 一个窗口是有很多界面元素的,比如标题栏,菜单栏,状态栏等等。但实际上可以把这些归为两类,一类是客户区, 阅读全文
摘要:
1. 系统何时发送WM_PAINT消息? 系统会在多个不同的时机发送 WM_PAINT 消息:当第一次创建一个窗口时,当改变窗口的大小时,当把窗口从另一个窗口背后移出时,当最大化或最小化窗口时,等等,这些动作都是由系统管理的,应用只是被动地接收该消息,在消息处理函数中进行绘制操作;大多数的时候应用也需要能够主动引发窗口中的绘制操作,比如当窗口显示的数据改变的时候,这一般是通过 InvalidateRect 和 InvalidateRgn 函数来完成的。 InvalidateRect 和 InvalidateRgn把指定的区域加到窗口的 Update Region 中,当应用的消息队列没有其他消 阅读全文