在ATOM通过返回RegisterClassEx唯一标识"窗口类",然后可以在其他的Windows API来引用.[ MSDN ]
实际上,它是一个哈希值,以便在每次创建或查找窗口时减少处理的数据量.它还意味着可以轻松创建和识别具有相同功能的多个窗口.
我正在解决上面的实际原因.Hans Passant的回答正确地解释了这是为C提供的OO类概念.进一步的MSDN示例.
函数名中的单词Class很重要.当您使用面向对象语言(如C++,Delphi,Java或C#等)编写代码时,可以使用class关键字创建具有行为的对象.但是winapi被设计用于C语言,这是一种没有这种功能的语言.RegisterClassEx()函数是对它的模拟,它允许您创建一个窗口,从命名类"派生"它的行为,您可以覆盖的行为.使用该类名创建的每个窗口都具有相同的行为.
您传递的WNDCLASSEX结构为窗口提供了默认行为.这个结构中最重要的成员是:
即使您不打算重新使用窗口,Windows也要求您调用RegisterClassEx().到目前为止,这是您自己的代码中最常用的函数.在编写实现控件的库,其他代码可以使用的窗口之前,您不会开始真正利用它.喜欢"编辑".
| 归档时间: |
|
| 查看次数: |
829 次 |
| 最近记录: |