WNDCLASS(WNDCLASSEX)结构介绍

WNDCLASS结构包含了RegisterClass函数注册窗口类时的窗口类属性。 
这个结构在使用RegisterClassEx函数注册窗口类时被WNDCLASSEX结构所取代。如果不需为窗口类设置小图标时,仍然可以使用WNDCLASS和RegisterClass。 
语法: 
typedef struct { 
    UINT style; 
    WNDPROC lpfnWndProc; 
    int cbClsExtra; 
    int cbWndExtra; 
    HINSTANCE hInstance; 
    HICON hIcon; 
    HCURSOR hCursor; 
    HBRUSH hbrBackground; 
    LPCTSTR lpszMenuName; 
    LPCTSTR lpszClassName; 
} WNDCLASS, *pWNDCLASS; 
成员: 
style

    描述类风格。该成员可以是“Class Styles”的任意组合。 
CS_VREDRAW 当窗口水平方向的宽度变化时重绘整个窗口

CS_HREDRAW 当窗口水平方向的宽度变化时重绘整个窗口

CS_OWNDC 独占设备描述表

CS_SAVEBITS 保存窗口覆盖区

CS_DBCLKS 允许两次连续按动

CS_BYTEALLGNCLIENT 鼠标用户区域按字节对齐显示

CS_BYTEALLGNWINDOW 鼠标用户窗口按字节对齐显示

CS_NOCLOSE 系统菜单中没有CLOSE菜单项

 

lpfnWndProc 
    指向窗口过程的指针。必须使用CallWindowProc函数调用窗口过程。 
cbClsExtra 
    表示窗口类结构之后分配的额外的字节数。系统将该值初始化为0. 
cbWndExtra 
    表示窗口实例之后分配的额外的字节数。系统将该值初始化为0.如果使用资源文件里的CLASS指令创建对话框,并用WNDCLASS注册该对话框时,cbWndExtra必须设置成DLGWNDOWEXTRA。 
hInstance 
    包含该类实例的句柄,该实例包含了窗口过程。 
hIcon 
    类图标的句柄。该成员必须为一个图标资源的句柄。如果hIcon为NULL,系统将提供默认图标。 
hCursor 
    鼠标指针的句柄。改成员必须为一个指针资源的句柄。如果hCursor为NULL,应用程序必须在指针移入应用程序窗口时显式设置指针类型。 
hbrBackground 
    背景画刷的句柄。该成员或者是用于绘制背景的物理画刷的句柄,或者是一个颜色值。颜色值必须为如下标准系统颜色值(值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 
    当调用UnregisterClass时,系统自动删除背景画刷。应用程序不应删除这些画刷。 
    当hbrBackground为NULL时,应用程序必须在绘制客户区域时绘制它自己的背景。为了确定背景是否一定要绘制,应用程序或者可以处理 WM_ERASEBKGND消息,或者测试PAINTSTRUCT的fErase成员。PAINTSTRUCT是由BeginPaint函数填充的。 
lpszMenuName 
    指向NULL结束的字符串,该字符串描述菜单的资源名,如同在资源文件里显示的名字一样。若使用一个整数标识菜单,可以使用MAKEINTRESOURCE宏。如果lpszMenuName为NULL,那么该窗口类的窗口将没有默认菜单。 
lpszClassName 
    指 向NULL结束的字符串,或者是一个原型(atom)。若该参数是一个原型,它必须是一个有先前调用RegisterClass或者 RegisterClassEx函数产生的类原型。类原型必须作为lpszClassName的低字,高字必须为0.若lpszClassName是一个 字符串,它描述了窗口类名。这个类名可以是由RegisterClass或者RegisterClassEx注册的名字,或者是任何预定义的控件类名。 
结构信息

 

-----------------------------------------

  typedef struct WNDCLASSEX {

  UINT cbSize; 
  UINT style; 
  WNDPROC lpfnWndProc; 
  int cbClsExtra; 
  int cbWndExtra; 
  HINSTANCE hInstance; 
  HICON hIcon; 
  HCURSOR hCursor; 
  HBRUSH hbrBackground; 
  LPCTSTR lpszMenuName; 
  LPCTSTR lpszClassName; 
  HICON hIconSm; 

  } WNDCLASSEX, *PWNDCLASSEX;

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/ctbinzi/archive/2009/09/06/4524659.aspx

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值