(winuser.h) WNDCLASSEXA 结构
包含窗口类信息。 它与 RegisterClassEx 和 GetClassInfoEx 函数一起使用。
WNDCLASSEX 结构类似于 WNDCLASS 结构。 有两个区别。 WNDCLASSEX 包括 cbSize 成员,该成员指定结构的大小,以及 hIconSm 成员,该成员包含与窗口类关联的小图标的句柄。
语法
typedef struct tagWNDCLASSEXA {
UINT cbSize;
UINT style;
WNDPROC lpfnWndProc;
int cbClsExtra;
int cbWndExtra;
HINSTANCE hInstance;
HICON hIcon;
HCURSOR hCursor;
HBRUSH hbrBackground;
LPCSTR lpszMenuName;
LPCSTR lpszClassName;
HICON hIconSm;
} WNDCLASSEXA, *PWNDCLASSEXA, *NPWNDCLASSEXA, *LPWNDCLASSEXA;
成员
cbSize
类型: UINT
此结构的大小(以字节为单位)。 将此成员设置为 sizeof(WNDCLASSEX)
. 在调用 GetClassInfoEx 函数之前,请务必设置此成员。
style
类型: UINT
类样式 (s) 。 此成员可以是 类样式的任意组合。
lpfnWndProc
类型: WNDPROC
指向窗口过程的指针。 必须使用 CallWindowProc 函数调用窗口过程。 有关详细信息,请参阅 WindowProc。
cbClsExtra
类型: int
要按照窗口类结构分配的额外字节数。 系统将字节初始化为零。
cbWndExtra
类型: int
在窗口实例之后分配的额外字节数。 系统将字节初始化为零。 如果应用程序使用 WNDCLASSEX 在资源文件中使用 CLASS 指令创建对话框,则必须将此成员设置为 DLGWINDOWEXTRA。
hInstance
类型: HINSTANCE
包含类的窗口过程的实例的句柄。
hIcon
类型: HICON
类图标的句柄。 此成员必须是图标资源的句柄。 如果此成员为 NULL,则系统提供默认图标。
hCursor
类型: HCURSOR
类游标的句柄。 此成员必须是游标资源的句柄。 如果此成员为 NULL,则每当鼠标移动到应用程序的窗口中时,应用程序都必须显式设置光标形状。
hbrBackground
类型: HBRUSH
类背景画笔的句柄。 此成员可以是用于绘制背景的画笔的句柄,也可以是颜色值。 颜色值必须是以下标准系统颜色之一, (值 1 必须添加到所选颜色) 。 如果提供了颜色值,则必须将其转换为以下 HBRUSH 类型之一:
- COLOR_ACTIVEBORDER
- COLOR_ACTIVECAPTION
- COLOR_APPWORKSPACE
- COLOR_BACKGROUND
- COLOR_BTNFACE
- COLOR_BTNSHADOW
- COLOR_BTNTEXT
- COLOR_CAPTIONTEXT
- COLOR_GRAYTEXT
- COLOR_HIGHLIGHT
- COLOR_HIGHLIGHTTEXT
- COLOR_INACTIVEBORDER
- COLOR_INACTIVECAPTION
- COLOR_MENU
- COLOR_MENUTEXT
- COLOR_SCROLLBAR
- COLOR_WINDOW
- COLOR_WINDOWFRAME
- COLOR_WINDOWTEXT
当此成员为 NULL 时,每当应用程序请求在其工作区中绘制时,应用程序都必须绘制自己的背景。 若要确定是否必须绘制背景,应用程序可以处理WM_ERASEBKGND消息或测试 BeginPaint 函数填充的 PAINTSTRUCT 结构的 fErase 成员。
lpszMenuName
类型: LPCTSTR
指向一个 null 终止的字符串的指针,该字符串指定类菜单的资源名称,因为名称显示在资源文件中。 如果使用整数标识菜单,请使用 MAKEINTRESOURCE 宏。 如果此成员为 NULL,则属于此类的窗口没有默认菜单。
lpszClassName
类型: LPCTSTR
指向空终止字符串或原子的指针。 如果此参数是 atom,则它必须是由上一次对 RegisterClass 或 RegisterClassEx 函数的调用创建的类原子。 atom 必须位于 lpszClassName 的低序单词中;高序单词必须为零。
如果 lpszClassName 是字符串,则指定窗口类名称。 类名称可以是注册到 RegisterClass 或 RegisterClassEx 的任何名称,也可以是预定义的控件类名称。
lpszClassName 的最大长度为 256。 如果 lpszClassName 大于最大长度, 则 RegisterClassEx 函数将失败。
hIconSm
类型: HICON
与窗口类关联的小图标的句柄。 如果此成员为 NULL,系统会搜索 hIcon 成员指定的图标资源,以获取要用作小图标的适当大小的图标。
注解
注意
winuser.h 标头将 WNDCLASSEX 定义为别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将非中性编码别名与非非编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅 函数原型的约定。
要求
最低受支持的客户端 | Windows 2000 Professional [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
标头 | winuser.h (包括 Windows.h) |
另请参阅
概念性
参考