Windows零基础入门:2.25 类风格CS_BYTEALIGNCLIENT
手机阅读 | 转发赚积分
手机收藏 | 分享给好友
手机收藏 | 分享给好友
上午研究了CS_BYTEALIGNCLIENT和CS_BYTEALIGNWINDOW,然后想深入研究一点,然后可以让你了解的更加清晰明了。然而,上午那一站,让我郁闷了一天。是的,我真的收到打击了。就让我打了一天的酱油。
因为微软的目的,就是要操作系统中屏蔽底层的各种具体细节,以让程序员可以以更加通用的编程方式达到处理各种设备的目的。今天,我想突破这个,然后去结合底层一点的技术知识来突破屏蔽的障碍。这种屏蔽技术对于开发确实很有好处,让程序员不必关注底层的细节了。然后,对于学习来讲,我们就看不到底层如何实现,也不知道底层的很多技术,所以很多时候也对上层开发造成影响。至少在理解上就是一个很大的问题。不了解底层的一些知识背景,就很难理解上层的一些技术。
本节所提到的两个窗口类风格CS_BYTEALIGNCLIENT和CS_BYTEALIGNWINDOW,如果没有底层技术背景,根本不知道它在说什么。虽然MSDN做了解释,但是你不知道技术背景,只看得懂文字,而不动背后的意义。这才是我想去深入研究,然后解释给大家听。
不过,这些方面的资料太少了,研究的还是云里雾里,以至于郁闷死了。大家也不做深入全面的研究,网上很多资料都是翻译MSDN中的一段窗口类风格的解释。我想问,这个有意义吗,还发布到网上。对于什么都不知道的人来说,或许,有点用吧。不过知道点的,这个给真正查资料造成了垃圾信息。我也是醉了。
不管怎么样,我还是根据我的理解,抽象一点解释这两个风格的作用吧。或许在更新图形这一块的时候,可能寻找到突破,到时再专题解释吧。对于入门,我们不应该卡在这里哦。这里也是给入门者一个概要性的了解而已。
CS_BYTEALIGNCLIENT为Byte Align Client,中文意思就是字节对齐客户区,也就是说,设置了这个窗口类风格的窗口类,创建的窗口将会按照字节对齐窗口的客户区。这个是在水平方向的,也就是x坐标。这个风格影响窗口的宽度和水平的起始位置,其实就是x坐标值。
CS_BYTEALIGNWINDOW为Byte Align Window,中文意思就是字节对齐窗口,即设置了这个窗口类风格的窗口类创建的窗口,系统会按字节对齐窗口的水平其实位置和窗口的宽度。
以上两种风格差不多,一个说的是窗口客户区,一个说的是整个窗口,效果差不多。
那么问题来了,什么是字节对齐?怎么会影响到窗口的起始水平坐标,即x坐标呢?
我们这里也不纠结底层的东西了。就按照上层技术来理解。有字节对齐,也就有字节不对齐。我们都知道,一个字节有八位。将多个字节排列成一条线,实际上可以构成最小单元是位。就像一把普通的尺,有最小的刻度毫米,也有大一点的厘米。位就像毫米,字节就像厘米。这样展开后,就和尺子一样的排列。这样说,你应该脑子里有个很清楚的画面了吧。
Win32课程菜单
-
- 第1节 指定入口点函数
- 第2节 VS创建Win32项目
- 第3节 exe程序文件
- 第4节 WinMain函数
- 第5节 实例句柄和命令行
- 第6节 第一个程序
- 第7节 Win32窗口机制和消息机制
- 第7节+ 消息机制补充说明(消息队列)
- 第8节 什么是窗口类
- 第9节 窗口类、进程和窗口过程
- 第10节 三种窗口类
- 第11节 修改窗口类
- 第12节 修改系统窗口类(子类化)
- 第13节 修改窗口类的机制和论证
- 第14节 窗口类使用
- 第15节 窗口类使用之窗口类结构体
- 第16节 窗口类结构体之窗口类风格
- 第17节 窗口类结构体之去除窗口类风格
- 第18节 窗口类结构体之水平重绘和垂直重绘
- 第19节 窗口类结构体之CS_DBLCLKS
- 第20节 窗口类结构体之CS_OWNDC
- 第21节 窗口类结构体之CS_CLASSDC
- 第22节 窗口类结构体之CS_PARENTDC
- 第23节 窗口类结构体之CS_NOCLOSE
- 第24节 窗口类结构体之CS_SAVEBITS
- 第25节 窗口类结构体之CS_BYTEALIGNCLIENT
- 第26节 窗口阴影效果CS_DROPSHADOW解密