Kyle Marsh
Microsoft Developer Network Technology Group
Created: January 25, 1994
摘要:SDK文档里面对32位Windows和16位Windows里面的窗口类定义有一点点不同。许多读过文档的程序开发员可以会认为没有一点改变。事实不是这样的。窗口类在16位和32位系统下的运行是有细微的差别的。这篇文章将向你详细描述这种差别,以清除你在阅读SDK文档时所带来的混淆。
//外国人就爱谦虚,该段省略
介绍:
一个窗口类中包含了一个窗口的外观和它的行为。每个窗口都归属于一个窗口类。在你创建窗口这前你必须先注册窗口类。32位系统中能注册全局窗口类,它能被系统中的所有应用程序使用。
大多数软件开发者都把窗口类当作必要的麻烦。他们很不认真的使用RegisterClass 函数,无意识地使用了大多数窗口都具备的属性,自己改变的很少,在这篇文章里面我们将用到窗口类的每一个风格属性,并解释如何让他们从中受益。
特别地,我们将要讨论到:
窗口类的定义。
系统全局类、应用程序全局类和局部类之间的不同。
窗口类储存了些什么信息。
这些信息是怎么影响窗口行为的。
类的种类。
Windows提供了三种类:系统全局类、应用程序全局类和局部类
Windows注册的系统全局类能被所有应用程序使用,这些类包含了如下一些我们熟悉的标准控件。
Listbox
ComboBox
ScrollBar
Button
Static
Edit
and some less familiar controls:
The class for menus.
The class for the desktop window.
The class for dialog boxes.
The class for the task switch window.
The class for icon titles.
ComboLBox: The class for the drop-down list box contained in a combo box.
MDIClient: The class for multiple-document interface (MDI) client windows.
Windows NT® adds the DDEMLEvent class for DDEML because the DDEML
functionality has been incorporated into Windows NT USER.
Windows 95/98 does not register class #32772 because it does not use icon title
windows.
所有 Win32® 应用程序 能使用全局类,但不能删除他们。