摘要: 一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被拥有关系,后者称之为父/子关系。在这篇文字中,我把owner窗口称之所有者窗口。换句话说,一个窗口在有一个父窗口(parent)的同时,还可能被不同的窗口拥有(owner),也可以有自己的子窗口(child)。在MFC 阅读全文
posted @ 2012-07-13 17:33 MarvinGeng 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 转自http://blog.sina.com.cn/s/blog_679404340100jh41.html一、原理: 应用程序在创建一个新窗口之前要向Windows系统注册这个窗口的类,首先要填写一个WNDCLASS结构,其中的结构参数lpfnWndProc就是该类窗口函数的地址,接着调用RegisterClass()函数向Windows系统申请注册这个窗口类。这时Windows会为其分配一块内存来存放该类的全部信息,这个内存块称为窗口类内存块。窗口子类化技术实际上就是改变窗口内存块中的有关参数。由于这种修改只涉及到一个窗口的窗口内存块,因此它不会影响到属于同一窗口类的其它窗口的功能和表现。 阅读全文
posted @ 2012-07-13 14:07 MarvinGeng 阅读(224) 评论(0) 推荐(0) 编辑