VC----Class Style类风格和窗口风格
CS_BYTEALIGNCLIENT:以字节边界来对齐窗口客户区,这个风格会影响 窗口 的宽度和水平位置。实际上没有看到效果。
CS_BYTEALIGNWINDOW:以字节边界来对齐窗口,这个风格会影响窗口的宽度和水平位置。实际上没有看到效果。
CS_CLASSDC:分配一个DC,凡是用这个类的窗口都能共享这个DC。因为窗口类是具体的,所以一个程序的多个线程可以创建同一个类下的多个窗口,也有可能多个线程同时使用同一个DC,在这种情况 下,系统只会让其中一个线程来完成绘画操作。
CS_DBLCLKS:当光标在一个窗口内,并且这个窗口属于这个类的话,鼠标的双击消息会发送到此窗口。
CS_DROPSHADOW:使阴影影响一个窗口,这个影响会被SPI_SETDROPSHADOW打开或者关闭。一般小的、生存期短的窗口比如菜单等为了显示它和其他窗口的Z次序关系。窗口所在的类有这个风格的话,这个窗口一必须是顶级窗口,但不一定是子窗口。使用时,Win7下用具体的数字表示此风格为0x00020000;测试时因为不是菜单窗口,所以也没有看出什么效果。
CS_GLOBALCLASS:指定这个窗口类是个全局类。
CS_HREDRAW:当窗口宽度发生变化时,会引起窗口重画。
CS_VREDRAW:当窗口高度发生变化时,会引起窗口重画。这两个和窗口的风格WS_HREDRAW,WS_VREDRAW好像很像。
CS_NOCLOSE:在窗口的菜单上禁用关闭。使用此风格时,有窗口风格WS_OVERLAPPEDWINDOW的窗口也禁用了关闭按钮。系统菜单上也没有了关闭。
CS_OWNDC:分配一个唯一的DC为每个使用此类的窗口。和CS_CLASSDC相反吗?
CS_PARENTDC:设置子窗口的剪切矩形,以便于子窗体能在父窗口上绘画,有CS_PARENTDC风格的窗口从系统DC的缓冲区里得到一个DC,这不会把父窗体的DC或者DC设置给子窗体,设置此风格会提高程序的表现。没有尝试过,可能是子窗体自绘吗?
CS_SAVEBITS:保存一个位图,有这个类型的窗口会掩盖屏幕的一个区域,当一个窗口移动的时候,系统会用保存的位图(这个位图是空的?)来存储屏幕图像或者其他被掩盖的窗体,因此,如果位图占用的内存没有释放,或者屏幕(被掩盖窗体)活动没有使这个位图失效的话,就不会向被掩盖的窗体或者屏幕发送WM_PAINT消息。这种风格适用于小窗体(菜单,对话框),这些窗体的特点是在其他窗口活动发生前就会被移动走,这个风格会增加显示窗体的次数,因为系统在内存中保存了一个位图 。又是和菜单有关的,可能是为 了增加右键菜单快速显示吗?有可能是想在右键菜单掩盖一个区域后,在消失后不会引起窗体重画,这样不会让下面的窗体闪烁。
下面是窗口风格:
WS_BORDER:有一个细小边框的窗体。(会呈现一个窗体,但在Win7下单独使用此风格和不使用没有区别)
WS_CAPTION:窗体有一个标题 栏。(Basic主题 下,有和没有此风格看不出效果)
WS_CHILD:此风格说明窗体是子窗体。不能和WS_POPUP风格同时使用。
WS_CHILDWINDOW:同WS_CHILD。
WS_CLIPCHILDREN:当绘画发生时,排除掉子窗体占据的区域,不再绘画,这发生在父窗体创建时。
WS_CLIPSIBLINGS:当一个子窗体发生绘画时接收到WM_PAINT消息,这个风格会从这个子窗体剪切掉其他子窗体的重叠区域。如果这个风格没有指定,刚在客户区绘制一个子窗体时,其他子窗体与这个子窗体的重叠区域也会被画。
WS_DISABLED:使窗体无效,当无效时不能接收用户的输入。可以用函数EnableWindow使窗体有效。(窗体显示出来,不会移动等效果)
WS_DLGFRAME:窗体有一个对话框的边框风格。有此风格时,不能有标题栏。(没看出效果)
WS_GROUP:有此风格的窗体是一组控件中的第一个窗体。包含第一个控件的这个组中的其他控件会在第一个控件创建后再依次创建。只到有一个控件定义了WS_GROUP风格才会结束,中间的控件不用此风格,都属于此组中。通常每个组的第一个控件有WS_TABSTOP风格,以使用户能从一个组移动到另一个组(这是用TAB键来实现的吧?)。在一个组中,用户能用方向键从第一个控件移动到下一个控件。为了改变这个风格,创建窗体后用SetWindowLong函数。
WS_HSCROLL:窗口有一个水平滚动条。
WS_ICONIC:此风格使窗体最小化。显示时是最小化的。和WS_MINIMIZE一样。(实际使用时不会出现时最小化,难道是ShowWindow时的结果吗)
WS_MAXIMIZE:窗口初始化最大。(测试时没有作用,和ShowWindow有关吗?)
WS_MAXIMIZEBOX:窗口有最大化按钮,不能和风格WS_EX_CONTEXTHELP同用,这时一定要有WS_SYSMENU风格。如果没有WS_SYSMENU风格时,就无效。
WS_MINIMIZE:和WS_ICONIC一样。
WS_MINIMIZEBOX:窗口有最小化按钮,也要指定WS_SYSMENU风格,如果没有WS_SYSMENU风格,此风格无效。
WS_OVERLAPPED:窗口有一个标题栏和边框风格。
WS_OVERLAPPEDWINDOW:集合各个风格,有(WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
WS_POPUP:弹出风格。不和WS_CHILD风格同用。(单独使用时不显示)。
WS_POPUPWINDOW:混合的风格。(WS_POPUP | WS_BORDER | WS_SYSMENU);有此风格的窗口是一个弹出窗口,和风格WS_CAPTION同时使用,才能让窗口菜单显示。(同时 使用也没有显示呀,只有在任务栏有窗体的最小化)
WS_SIZEBOX:窗口有一个可调大小的风格,和WS_THICKFRAME一样。(窗口的边框果然可以调动大小了)
WS_SYSMENU:窗口有一个系统菜单 ,一定要和WS_CAPTION同用,系统菜单 在标题栏上右键击出。(存在时会显示窗口左上角图标)
WS_TABSTOP:说明窗口是一个控件,能接收焦点当用户按TAB键时,按TAB键时可把焦点转移到有WS_TABSTOP风格的下一个窗体上。为了改变这个窗口风格,可使用SetWindowLong风格。对于用户创建的窗体和非模态对话框,通过调用函数IsDialogMessage来改变消息循环。
WS_THICKFRAME:和WS_SIZEBOX一样。
WS_TILED:和WS_OVERLAPPED一样。
WS_TILEDWINDOW:和WS_OVERLAPPEDWINDOW风格一样。集合风格,包括:(WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)。
WS_VISIBLE:使窗口可见,可以通过函数ShowWindow和SetWindowPos来改变 。
WS_VSCROLL:窗口有一个竖直滚动条。
VC----Class Style类风格和窗口风格的更多相关文章
- WIN32窗口类风格和窗口风格(备查询)
一.WNDCLASS typedef struct { UINT cbSize //这个结构体的长度,一般用sizeof(WNDCLASSEX)设置 UINT style //窗口式样 WNDPROC ...
- MFC窗口风格 WS_style/WS_EX_style(超详细)
窗口风格(Window style) WS_BORDER 有边框窗口 WS_CAPTION 必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用.指示窗口包含标题要部分 ...
- MFC窗口风格 WS_style/WS_EX_style
窗口风格(Window style) WS_BORDER 有边框窗口 WS_CAPTION 必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用.指示窗口包含标题要部分 ...
- WS_窗口风格常量
WS_窗口风格常量 WS_BODER 窗口具有细线边框 WS_CAPTION 窗口具有标题栏(包含 WS_BODER) WS_CHILD 创建一个子窗口(此风格不能与 WS_POPUP 一起使用 ) ...
- vs调试看窗口风格
vs调试看窗口风格 技巧:在数值上右键,以16进制显示.
- VC编程小技巧之框架窗口及其他
1.修改主窗口风格 AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名.窗口是叠加型的.可改变窗口大小等.要修改窗口的缺省风格,需要重载CWnd::Pre ...
- 精通 VC++ 实效编程280例 - 01 窗口
窗口是屏幕上的一个矩形区域.窗口分为3种:重叠窗口.弹出窗口和子窗口.每个窗口都有由系统绘制的“非客户区”和应用程序绘制的“客户区”.在 MFC 中,CWnd 类为各种窗口提供了基类. 1 通过 HW ...
- 积累的VC编程小技巧之框架窗口及其他
1.修改主窗口风格 AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名.窗口是叠加型的.可改变窗口大小等.要修改窗口的缺省风格,需要重载CWnd::Pre ...
- vc如何让打开的子窗口默认是最大化的
vc如何让打开的子窗口默认是最大化的 浏览: 3554 | 更新: 2011-04-09 17:04 1 0 加入杂志加入杂志 摘要:关于vc如何让打开的子窗口默认是最大化的深入研究. 步 ...
随机推荐
- model 的验证
Ext.onReady(function(){ Ext.define('User', { extend: 'Ext.data.Model', fields: [ { name: 'name', typ ...
- zabbix proxy 服务器 netstat 出现大量Time_Wait连接问题
问题描述: 监控系统云网关监控几万个TCP port的存活情况, 最近发现有几个端口出现告警闪断情况,怀疑因为运行TCP检查的 zabbix proxy 服务器 tcp参数配置不合理. netstat ...
- GDB的使用
#list #break <行号|函数名|条件表达式> #delete #run #continue #finish #quit #next #step #print #watch l ...
- MyEclipse删除不再使用的工作空间记录
找到安装目录下的configuration/.settings/org.eclipse.ui.ide.prefs文件,打开此文件,删除不再使用的工作空间信息,重启MyEclipse.然后在切换工作空间 ...
- linux 下远程连接windows
安装软件 sudo apt-get install rdesktop 连接windows 然后进入windows登陆界面 输入应户名密码后就进入windows了 注意的是 参数-f是全屏的意思 然后 ...
- 01python算法--算法和数据结构是什么鬼?
我不想直接拷贝google 上面所有对算法的解释.所以我想怎么说就怎么说了,QAQ 1:什么是程序? 解决问题的范式 2:什么是问题? 程序输入与输出之间的联系 3:什么是算法: 算法就是解决问题的思 ...
- js-回车事件控制
1.文本框回车时间 < script type = "text/javascript" language = "javascript" > fun ...
- Hive 的分桶 & Parquet 概念
分区 & 分桶 都是把数据划分成块.分区是粗粒度的划分,桶是细粒度的划分,这样做为了可以让查询发生在小范围的数据上以提高效率. 分区之后,分区列都成了文件目录,从而查询时定位到文件目录,子数据 ...
- Hadoop 权威指南学习2 (Sqoop)
6. Sqoop Apache sqoop is an open source tool that allow users to extract data from structured data s ...
- 学习WebSocket(一):Spring WebSocket的简单使用
1.什么是websocket? WebSocket协议定义了一种web应用的新功能,它实现了服务器端和客户端的全双工通信.全双工通信即通信的双方可以同时发送和接收信息 的信息交互方式.它是继Java ...