惧留孙网

juliusun.com

惧留孙网 > 惧留孙课堂 > 在线手册 > WINDOWS API手册 > WNDCLASS
acceptAdjustWindowRectAdjustWindowRectExAngleArcAppendMenuArcArcToBeginPaintbindBitBltBM_GETCHECKBM_SETCHECKButton_GetCheckButton_SetCheckClientToScreenclosesocketconnectCreateCompatibleDCCreateDialogCreateDialogParamCreateFontCreateMenuCreatePenCreatePopupMenuCreateSolidBrushCreateWindowCreateWindowExDefWindowProcDeleteDCDeleteObjectDestroyCursorDestroyIconDestroyMenuDestroyWindowDialogBoxDialogBoxParamDialogProcDispatchMessageDrawIconDrawIconExEdit_HideBalloonTipEdit_ShowBalloonTipEDITBALLOONTIPEllipseEM_HIDEBALLOONTIPEM_SHOWBALLOONTIPEndDialogEndPaintFillRectFrameRectGetArcDirectionGetClientRectGetDlgItemGetDlgItemTextGetMessageGetStockObjectGetSystemMetricsGetTextAlignGetWindowTextGetWindowTextLengthInvalidateRectIsDialogMessageLineTolistenLoadCursorLoadIconLoadImageMAKEINTRESOURCEMessageBoxMoveToExMSGPiePOINTPolygonPolylinePolylineToPolyPolylinePostMessagePostQuitMessagePostThreadMessageRectanglerecvRegisterClassRegisterClassExRoundRectScreenToClientSelectObjectsendSendDlgItemMessageSendMessageSetArcDirectionSetBkColorSetBkModeSetDlgItemTextSetPixelSetTextAlignSetTextColorSetWindowTextShowWindowsocketstrcmpStretchBltstrlenTextOutTrackPopupMenuTrackPopupMenuExTranslateMessageUnregisterClassUpdateWindowwcscmpwcslenWindowProcWinMainWM_CHARWM_CLOSEWM_COMMANDWM_CREATEWM_DESTROYWM_GETTEXTWM_GETTEXTLENGTHWM_INITDIALOGWM_KEYDOWNWM_KEYUPWM_LBUTTONDBLCLKWM_LBUTTONDOWNWM_LBUTTONUPWM_MBUTTONDBLCLKWM_MBUTTONDOWNWM_MBUTTONUPWM_MOUSEHWHEELWM_MOUSEMOVEWM_MOUSEWHEELWM_NCDESTROYWM_NCHITTESTWM_PAINTWM_QUITWM_RBUTTONDBLCLKWM_RBUTTONDBLCLKWM_RBUTTONDOWNWM_RBUTTONUPWM_SETFONTWM_SETTEXTWM_XBUTTONDBLCLKWM_XBUTTONDOWNWM_XBUTTONUPWNDCLASSWNDCLASSEXWSACleanupWSADATAWSAStartupwsprintf

WNDCLASS 结构体

包含窗口类属性的结构体,一般称为窗口类。用WNDCLASS类型变量,通过 RegisterClass 函数完成窗口类的注册。
WNDCLASS结构体有更高版本,名为 WNDCLASSEX,用来通过 RegisterClassEx 函数完成窗口类的注册。
 声明:
typedef struct tagWNDCLASS{
UINTstyle;
WNDPROClpfnWndProc;
intcbClsExtra;
intcbWndExtra;
HINSTANCEhInstance;
HICONhIcon;
HCURSORhCursor;
HBRUSHhbrBackground;
LPCTSTRlpszMenuName;
LPCTSTRlpszClassName;
 } WNDCLASS, *PWNDCLASS;
成员
style
类型:UINT
窗口类风格,本站文档完善中,详细转到 窗口类风格列表

lpfnWndProc
类型:WNDPROC
窗口消息处理函数指针,必须调用 CallWindowProc 来调用窗口过程。定义方式必须严格遵守 WindowProc 格式。

cbClsExtra
类型:int
分配窗口类结构体的额外字节数,系统初始为为0,不使用时直接设置为0即可。

cbWndExtra
类型:int
分配给窗口实例的额外字节数,系统初始化为0。如果程序用WNDCLASS,通过资源文件的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

当调用 UngreisterClass 时,系统自动删除画刷。程序无须删除。

当此成员为NULL时,程序必须在系统请求绘制客户区时完成背景的绘制。程序有两种方式确定是否需要绘制背景:1、通过 WM_ERASEBKGND 消息;2、通过 BeginPaint 填充的 PAINTSTRUCT 结构体的fErase成员。

lpszMenuName
类型:LPCTSTR
菜单资源名称,就像资源文件里的菜单名字。如果用整数标识菜单,使用 MAKEINTRESOURCE宏。如果为NULL,窗口没有属于窗口类的默认菜单。

lpszClassName
类型:LPCTSTR
一个指向NULL字符结尾的字符串或一个原子。如果参数是原子,必须是前面 RegisterClassRegisterClassEx 的返回值。原子值在此成员的低16位,高16位为0。

如果此成员是字符串,它标识窗口类名字。窗口类名可以用 RegisterClassRegisterClassEx 注册,或者系统预定义的窗口类名。

此成员最大长度是256,大于256时 RegisterClass 会注册失败。

可点击 控件库 查看系统预定义类。
支持
最低桌面系统支持Windows 2000 Professional
头文件Winuser.h (已包含在Windows.h中)
UNICODE版本名WNDCLASSW
ANSI版本名WNDCLASSA

作者:QQ:3304576112 交流QQ群:316930386 C语言窗口程序学习群 本站保留本页版权,可共享网址,匆复制内容

抖音
©2015-2024 惧留孙网 juliusun.com

京ICP备15039193号-1

首页 教程 下载 文章 聊天 我的