2012年9月26日
摘要: 1.HWND CreateWindow( LPCTSTR lpClassName, LPCTSTR lpWindowName, DWORD dwStyle, int x, int y, int nWidth, int nHeight, HWND hWndParent, HMENU hMenu, HANDLE hlnstance, LPVOID lpParam);参数lpClassName 指向一个空结束的字符串或整型数atom。如果该参数是一个整型量,它是由此前调用theGlobalAddAtom函数产生的全局量。这个小于0xC000的16位数必须是lpClassNam... 阅读全文
posted @ 2012-09-26 11:55 克劳德曼 阅读(586) 评论(0) 推荐(0)
摘要: 一、概念和区别 在windows系统中,每个窗口对象都对应有一个数据结构,形成一个list链表。系统的窗口管理器通过这个list来获取窗口信息和管理每个窗口。这个数据结构中有四个数据用来构建list,即child、sibling、parent、owner四个域。 所以我们可以看到,窗口之间的关系有两种:owner-owned 关系和 parent-child关系。前者称之为拥有/被拥有关系,后者称之为父/子关系。在这篇文字中,我把owner窗口称之所有者窗口。换句话说,一个窗口在有一个父窗口(parent)的同时,还可能被不同的窗口拥有(owner),也可以有自己的子窗口(child)... 阅读全文
posted @ 2012-09-26 11:47 克劳德曼 阅读(212) 评论(0) 推荐(0)
摘要: 相信在Window下面编程的很多兄弟们都不是很清楚Window中窗口的层次关系是怎么样的,这个东西很久已经研究过一下,后来又忘记了,今天又一次遇到了这个问题,所以便整理一下。下面就说说Window中桌面(Deskkop)以及顶层窗口,以及子窗口之间的关系。在Window的图形界面下,最基本显示信息的元素就是窗口,每一个Window窗口都管理着自己与其他窗口之间的关系和自身的一些信息,如:是否可见,窗口的所有者,窗口的父/子关系等等信息,当窗口创建、销毁、显示的时候,就会用到这些信息。在每一个窗口实例中,有四个元素被窗口管理器用来建立窗口管理链表。Child:指向窗口子窗口的句柄Parent:指 阅读全文
posted @ 2012-09-26 11:37 克劳德曼 阅读(502) 评论(0) 推荐(0)
摘要: 果windows一直存在下去,窗口这个话题也许是永恒的……1.一切皆窗口在我看来桌面上的一切都是窗口,桌面本身是窗口,开始菜单是窗口,桌面上永远置顶的播放器是个置顶的窗口,工具栏是个子窗口…….不仅我这么看,Spy++也这么看,如下图:图1‑1Spy++和桌面一切都是窗口,窗口错落有致,成为界面树上的翩翩叶子,组织成了我们所看到的整个Windows系统用户界面。我们首先通过一个普普通通典型的窗口,来分析一下窗口的组成:图1‑2普普通通的窗口一个窗口是有很多界面元素的,比如标题栏,菜单栏,状态栏等等。但实际上可以把这些归为两类,一类是客户区,客户区就是整个窗口中间的部分,在图中已经标示出来。客户 阅读全文
posted @ 2012-09-26 11:28 克劳德曼 阅读(245) 评论(0) 推荐(0)
摘要: 我是个喜欢瞎琢磨的人。尤其是这几天心情非常郁闷。于是开始琢磨了…….琢磨的问题就是WS_CLIPCHILDREN和WS_CLIPSIBLINGS两种窗口样式的理解。1.求助MSDN 我的第一步当然是求助MSDN。在MSDN里面有详细的解释。1.1WS_CLIPCHILDREN WS_CLIPCHILDREN样式从字面上可以理解成ClipChildren,裁减子窗口。 MSDN里的E文解释:Excludes the area occupied by child windows when drawing occurs within the parent window. This styl... 阅读全文
posted @ 2012-09-26 11:25 克劳德曼 阅读(237) 评论(0) 推荐(0)