窗口类样式

本文详细介绍了注册窗口类时使用的各种样式及其作用,如CS_BYTEALIGNCLIENT、CS_DBLCLKS等,这些样式能够帮助开发者更好地控制窗口的行为和外观。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

窗口类样式

注册窗口类时使用的样式
 
常数/值描述
CS_BYTEALIGNCLIENT 0x1000

将窗口的客户区对齐在字节边界(x方向)。此风格影响窗口的宽度及其在显示屏上的水平位置。

CS_BYTEALIGNWINDOW 0x2000

将窗口对齐在字节边界(x方向)。此风格影响窗口的宽度及其在显示屏上的水平位置。

CS_CLASSDC 0x0040

分配一个设备上下文以由该类中的所有窗口共享。因为窗口类是特定于进程的,所以应用程序的多个线程可能会创建同一个类的窗口。

线程也可能尝试同时使用设备上下文。当这种情况发生时,系统只允许一个线程成功完成绘图操作。

CS_DBLCLKS 0x0008

当用户双击鼠标,而光标位于属于该类的窗口中时,向窗口过程发送双击消息。

CS_DROPSHADOW 0x00020000

启用窗口上的阴影效果。通过SPI_SETDROPSHADOW打开和关闭效果。通常,这可以用于小型,短寿命的窗口,

例如菜单,以强调与其他窗口的Z顺序关系。从这个风格的类创建的Windows必须是顶级窗口; 他们可能不是子窗口。

CS_GLOBALCLASS 0x4000

表示窗口类是应用程序全局类。有关更多信息,请参阅关于窗口类的“应用程序全局类”一节。

CS_HREDRAW 0x0002

如果移动或尺寸调整改变了客户区域的宽度,则重绘整个窗口。

CS_NOCLOSE 0x0200

禁用窗口菜单上的关闭

CS_OWNDC 0x0020

为类中的每个窗口分配唯一的设备上下文。

CS_PARENTDC 0x0080

将子窗口的剪切矩形设置为父窗口的剪切矩形,以便孩子可以绘制父窗口。

具有CS_PARENTDC样式位的窗口从系统的设备上下文缓存中接收常规设备上下文。

它不给子进程父进程的设备上下文或设备上下文设置。指定CS_PARENTDC增强了应用程序的性能。

CS_SAVEBITS 0x0800

作为位图保存屏幕图像的一部分被该类的窗口遮蔽。当窗口被删除时,系统使用保存的位图来恢复屏幕图像,包括被遮挡的其他窗口。

因此,如果位图中使用的内存未被丢弃,并且其他屏幕操作未使存储的映像无效,则系统不会将 WM_PAINT消息发送到被遮蔽的窗口。

此风格对于在其他屏幕活动发生之前短暂显示,然后删除的小窗口(例如,菜单或对话框)非常有用。

这种风格增加了显示窗口所需的时间,因为系统必须首先分配内存来存储位图。

CS_VREDRAW 0x0001

如果移动或尺寸调整改变了客户区域的高度,则重绘整个窗口。

转载于:https://www.cnblogs.com/yunqie/p/6613870.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值