C++Windows编程之注册窗口类

本文详细探讨了C++在Windows环境下进行窗口类的注册过程,重点关注了窗口在垂直位置或高度变化时如何自动重绘内容。同时,列举了与窗口颜色相关的常量,如COLOR_ACTIVEBORDER, COLOR_HIGHLIGHT等,这些常量在定义窗口视觉效果中起到关键作用。" 117283873,8753399,测试boost::core::bit_width的C++程序,"['C++编程', 'Boost库', '位运算', '软件测试']
摘要由CSDN通过智能技术生成
我们用Visual Studio创建一个win32项目上会自动生成一个注册窗口类。如下:
//
//  函数: MyRegisterClass()
//
//  目的: 注册窗口类。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
	WNDCLASSEX wcex;

	wcex.cbSize = sizeof(WNDCLASSEX);

	wcex.style			= CS_HREDRAW | CS_VREDRAW;
	wcex.lpfnWndProc	= WndProc;
	wcex.cbClsExtra		= 0;
	wcex.cbWndExtra		= 0;
	wcex.hInstance		= hInstance;
	wcex.hIcon			= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_WIN32PROJECT5));
	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);
	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);
	wcex.lpszMenuName	= MAKEINTRESOURCE(IDC_WIN32PROJECT5);
	wcex.lpszClassName	= szWindowClass;
	wcex.hIconSm		= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));

	return RegisterClassEx(&wcex);
}
这些都是是什么意思呢?
WNDCLASSEX属于一个窗台类结构原型为:
typedef struct 

{

    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;
cbSize存储表示该结构大小的字节数,通常以sizeof(WNDCLASSEX)的形式对该域进行设置。
style存储表示窗口类风格的整数,它决定了该窗口的外观和内在特征。Windows以预先给了一些标准的外观,供用户选择。如下:

当窗口的垂直位置或窗口的高度值发生变化时,是窗口能够重新绘制其用户区域的内容

Constant/value

Description

CS_BYTEALIGNCLIENT

0x1000

 

在X轴方向上以某边界值对齐窗口的用户区域,该属性影响窗口的宽度和显示位置的水平坐标。

CS_BYTEALIGNWINDOW

0x2000

 

在X轴方向上以某个边界值对齐窗口,该属性影响窗口的宽度和显示位置的水平坐标。

CS_CLASSDC

0x0040

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值