RegisterClass()函数

函数功能:该函数注册在随后调用CreateWindow函数和CreateWindowEx函数中使用的窗口类。 RegisterClass函数己经由函数RegisterClassEx函数来代替,但是,如果不需要设置类的小目标则仍然可以使用RegisterClass函数。

参数:

lpWndClass:指向一个WNDCLASS结构的指针。在将它传递给函数之前,必须在该结构中填充适当的类属性。

返回值:如果函数成功,返回值是唯一标识已注册的类的一个原子;如果函数失败,返回值为0。若想获得更多错误信息,请调用GetLastError函数。

备注:如果使用RegisterClassA来注册窗口,应用程序通知系统被注册类的窗口的消息使用ANSI字符集的文本和字符参数;如果使用RegisterClassW来注册窗口,应用程序需要系统以Unicode来传递消息的文本参数。lsWindowUnicode函数使应用程序可以查询每一个窗口的字符特征。参看Win32API中的ANSI和Unicode

函数,请查阅Functiont prototype。

应用程序注册的所有的窗口类在应用程序中止后都为未注册的类。

Windows 95:所有由DLL注册的类在DLL卸载后均未注册的类。

Windows NT:所有由DLL注册的类在DLL卸载后仍为已注册的类。

Windows 95:如果WNDCLASSEX结构中的cbWndExtra或cbClsExtra单元包含字节数超过40个字节,则RegisterClassEx将失败。

Windows CE:由lpWndClass参数指向的WNDCLAS结构不支持lpszMenuName域,因为WindowsCE不支持缺省菜单。

除非使用了WindowsCE的lconcurs组件(这个组件提供了在适当目标平台上的鼠标支持),否则不能使用由lpWndClass指向的WNDCLASS结构中的hCursor域。

速查:Windows NT:3.1以上版本;Windows:95以上版本:WindowsCE:1.0以上版本;头文件:Winuser.h;库文件:user32.lib;Unicode:在Windows NT上实现为Unicodee和ANSI两种版本。