CREATESTRUCT与WNDCLASS的关系

来源:互联网 发布:计算机病毒 知乎 编辑:程序博客网 时间:2024/05/18 01:40

随笔

一般我们说的窗口类就是WNDCLASS,它是个结构,用来存储窗口本身的一些信息。我们所说的设计一个窗口,也就是初始化WNDCLASS对象的成员变量。它包含着图标、光标、背景画刷的句柄,菜单栏的指针,窗口类风格等信息。其中,最关键的是成员变量lpszClassName,这是一个指针,指向这个窗口类的唯一名称标示(字符串),在注册完该窗口类之后,就可以用这个指针来找到标示,从而找到这个窗口类本身。

而CREATESTRUCT是用来为创建窗口服务的,它的成员变量与CreateEX函数的形参一一对应。它有一个成员变量lpszClass,同样为窗口类唯一名称标示的指针,所以应该将lpszClassName赋值给它。但是,创建窗口不仅需要窗口本身的信息,还要有窗口的显示位置、大小,窗口风格等信息。可以说,CREATESTRUCT提供了创建窗口所有的必要信息,而WNDCLASS只是其中关于窗口本身的一部分。

需要注意的是,这两个结构中都有一个叫style的成员变量,但是他们的含义并不相同。WNDCLASS中的style叫做窗口类风格(Window Class Styles),它关注的同样是窗口本身,例如重绘的方式等等。

而CREATESTRUCT中的style叫做窗口风格(Window Styles),它关注的是窗口将怎样被显示出来,最大化还是最小化,是使能还是非使能,等等。


http://blog.csdn.net/natsu1211/article/details/8618447

原创粉丝点击