关于WNDCLASSEX窗口类

WNDCLASSEX窗口类原型如下

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;

其十二个成员意义如下

1:cbSize,表示窗口的大小,取值一般为sizeof(WNDCLASSEX);

2:style,表示窗口的类型,取值是系统定义好的一组宏,例如:

CS_BYTEALIGNCLIENT
窗口的客户区域以“字符边界”对齐,当系统调整窗口的水平位置时,客户区域的左边坐标是8的整数倍


CS_BYTEALIGNWINDOW
窗口以“字符边界”对齐,当系统调整窗口的水平位置时,客户区域的左边坐标是8的整数倍


CS_CLASSDC
分配一个设备环境并被类中的所有窗体共享。它是可以适用于一个应用程序的若干线程创建的一个相同类的窗体。当多个线程试图同时使用相同的设备环境时,系统只允许 一个线程成功地进行绘图操作


CS_DBLCLKS
当用户双击窗口时,将向窗口函数发送鼠标双击消息


CS_GLOBALCLASS
指定此窗体类是一个应用程序全局类。应用程序全局类是由一个在进程中对所有模块有效的exe或dll注册的窗体类


CS_HREDRAW
如果窗口的位置或宽度发生改变,将重绘窗口


CS_NOCLOSE
窗口中的“关闭”按钮不可见


CS_OWNDC
为同一个窗口类中的每个窗口创建一个唯一的设备上下文


CS_PARENTDC
设置子窗口中剪下的矩形区域到父窗口中,以使子窗口可以在父窗口上绘图。指定该风格可以提高应用程序的性能


CS_SAVEBITS
把被窗口遮掩的屏幕图像作为位图保存起来。当该窗口被移动时,Windows操作系统使用被保存的位图来重建屏幕图像


CS_VREDRAW
如果窗口的位置或高度改变,将重绘窗口


3:lpfnWndProc是最重要的成员,当鼠标键盘在该窗口上操作时,该窗口收到了这个消息。此时他的lpfnWndProc指向一个回调函数,该窗口将参数送到回调函数,由回调函数执行动作,例如

wc.lpfnWndProc   = MyWindowProc; // MyWindowProc是一个回调函数

4:cbClsExtra,指定紧跟在窗口类结构后的附加字节数,即给类额外预留的空间,


5:cbWndExtra:指定紧跟在窗口实例的附加字节数,即给实例额外预留的空间


6:hInstance,该窗口的句柄


7:hIcon,该窗口图标的句柄


8:hCursor,该窗口光标形式的句柄


9:hbrBackground,背景画刷的句柄


10:lpszMenuName,指向菜单的句柄


11:.lpszClassName,指向类名称的句柄


12:hIconSm,这个图标显示的是窗口在任务栏处显示的图标












  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值