Win32Api程序设计 注册窗口类

注册窗口类的时候,在窗口类结构体的成员lpszClassName填写的是窗口类的名称,就是一个字符串。通过这个窗口类名称字符串,我们就可以找到窗口类,进而可以使用窗口类名称来创建一个窗口。
    那么,在窗口类有效的范围内,窗口类名字是唯一的。只要我们用这个窗口类名称来创建窗口,总会创建出这个特定样式的窗口。
    然而窗口类信息注册好后,生成了一个ID,是一个数字,就像一个表格的序号一样的,这个ID的类型就是ATOM类型。我们现在来认识一下ATOM类型。
    ATOM英文是原子的意思,表示最小的意思。我们可以理解为这个类型是Windows中的基本类型,就好像C/C++中的int类型一样。我们看看ATOM类型最根本的数据类型是什么,从语言级别来看。
    在VS2015中,我们查看ATOM的定义,如下:

ATOM时友WORD类型重定义的,而WORD是由unsigned short类型重定义的,所以根本上,ATOM就是unsigned short类型的。然而注释中却标注BUGBUG,并解释说可能将这个类型从minWin系统版本中移除。

ATOM是一个整数,至于具体多少位,是哪一种整型类型,我们就不细究了。也没有必要,因为从注释可以看出,这个类型可能会变化,但是一定会是整型类型。知道这些我们就够了。
    这个ATOM类型出现在注册窗口类函数中,是注册窗口类函数的返回值类型。如果注册失败,则返回0,注册成功,则返回一个窗口类的唯一ID。可以说,这个ID和注册的窗口类是一一对应的。

原文地址:https://www.cnblogs.com/xiaok-redback/p/5019785.html