typedef struct tagWNDCLASSW {
    UINT        style;   //窗口类的风格(CS_XXX  )
    WNDPROC     lpfnWndProc;  //窗口处理函数
    int         cbClsExtra;   //窗口类的附加数据的buff的大小(Cls:class,b:buff)
    int         cbWndExtra;   //窗口的附加数据的buff的大小
    HINSTANCE   hInstance;    //当前模块的实例句柄
    HICON       hIcon;        //窗口图标句柄
    HCURSOR     hCursor;      //鼠标的句柄
    HBRUSH      hbrBackground;//被窗口背景的额画刷句柄
    LPCWSTR     lpszMenuName; //窗口菜单的资源ID字符串
    LPCWSTR     lpszClassName;//窗口类的名称
} WNDCLASSW, *PWNDCLASSW, NEAR *NPWNDCLASSW, FAR *LPWNDCLASSW;
  1. 什么是窗口类?
    窗口类是一种包含了窗口的各种信息的数据结构,每个窗口都有窗口类,基于窗口类来创建窗口(windows操作系统)每一个窗口类都有自己的名字,创建窗口之前需要注册窗口
  2. 窗口类的分类(窗口类的名字是他们的标识,我们将会根据窗口类的名字来创建窗口)
    (1). 系统窗口类:系统已经定义好的窗口类,所有的程序都是可以直接使用(例如:Button,Edit等;ATOM:RegisterClass():返回非0注册失败)
    (2). 应用程序全局窗口类:用户自己定义,当前应用程序的所有的模块都是可以使用的(很少使用,官方建议不使用)
    (3). 应用程序局部窗口类:当前应用程序中的本模块可以使用
style CS_GLOBALCLASS(使用则是全局的窗口类,官方建议别使用),CS_HREDRAW(水平重绘),CS_DBLCLKS(允许双击),CS_NOCLOSE