什么是窗口类

什么是窗口类?

顾名思义,窗口类就是C++里面的一个类,这个类里面的变量是关于窗口的一些特性的,比如说:大小,图标,鼠标,回调函数等.
回调函数是窗口类中最需要了解的内容,回调函数也称为窗口过程.
窗口过程是用来处理用户的消息的,比如说鼠标按下会发生什么,显示一行文字?跳出一个新界面等.又比如说,键盘某个键按下会发生什么.具体的消息对应不同的宏,可以通过查表来引用.
回调函数的用法以后会详细讲.

下面是窗口类的各个成员:

typedef struct tagWNDCLASSA {
  UINT      style;
  WNDPROC   lpfnWndProc;
  int       cbClsExtra;
  int       cbWndExtra;
  HINSTANCE hInstance;
  HICON     hIcon;
  HCURSOR   hCursor;
  HBRUSH    hbrBackground;
  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;
} WNDCLASSA, *PWNDCLASSA, *NPWNDCLASSA, *LPWNDCLASSA;
 

其中

  LPCSTR    lpszMenuName;
  LPCSTR    lpszClassName;

在多字节编码和Unicode编码的定义是些许差别的,但使用的思路是差不多的.

Style

决定了窗口的风格,拉边框时是否进行重绘,是否禁用右上角的”x”等.

lpfnWndProc

是回调函数,也就用来处理消息的.注册窗口后就处于不断循环调用.

cbClsExtra

指定紧跟在窗口类结构后的附加字节数。(目前我也不知道干嘛用的)

cbWndExtra

指定紧跟在窗口事例后的附加字节数。如果一个应用程序在资源中用CLASS伪指令注册一个对话框类时,则必须把这个成员设成DLGWINDOWEXTRA。

hInstance

本窗口的句柄,也就是窗口的ID,每个窗口都有不同的ID,我们是根据窗口的ID来确定给哪个窗口发消息的.

hIcon

图标句柄,用来设置窗口的图标

hCursor

鼠标句柄,用来设置鼠标光标

hbrBackground

背景画刷句柄,用来设置背景色

lpszMenuName

指向菜单的指针

lpszClassName:

指向类名称的指针,也就是这个类的名字(为什么会有类名这个东西,目前我还不太清楚)

hIcon的用法:

1.加载系统默认图标:
对象名.hIcon=LoadIcon(NULL, IDI_INFORMATION);
在这里插入图片描述

2.加载用户自定义图标:
在工程的资源视图里右键添加
在这里插入图片描述

然后导入你想加载的图标

在这里插入图片描述
在这里插入图片描述

加载用户自定义图标的方法:
对象名.hIcon=LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
在这里插入图片描述

图标文件的后缀是ico
鼠标样式文件的后缀是cur
hCursor的使用方法将会在以后说明

hbrBackground的使用方法:

对象名.hbrBackground = (HBRUSH)GetStockObject(WHITE_BRUSH);
上面只能设置系统固定的背景颜色,如果想设置用户自定义的颜色,以后也会提到

关于窗口类还有许多内容要补充,这篇文章先说明到这里.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值