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如何让打开的子窗口默认是最大化的深入研究. 步 ...
随机推荐
- elasticsearch和hadoop集成,gateway.type hdfs设置
配置elasticsearch的存储路径为hdfs需要两步,安装插件 elasticsearch-hadoop,在联网的情况下在命令窗口运行:plugin -install elasticsearch ...
- 提高你的数据库编程效率:Microsoft CLR Via Sql Server
你还在为数据库编程而抓狂吗?那些恶心的脚本拼接,低效的脚本调试的日子将会与我们越来越远啦.现在我们能用支持.NET的语言来开发数据库中的对象,如:存储过程,函数,触发器,集合函数已及复杂的类型.看到这 ...
- poj3013 邻接表+优先队列+Dij
把我坑到死的题 开始开题以为是全图连通是的最小值 ,以为是最小生成树,然后敲了发现不是,看了下别人的题意,然后懂了: 然后发现数据大,要用邻接表就去学了一下邻接表,然后又去学了下优先队列优化的dij: ...
- springMVC数据验证出现404错误解决办法
今天使用springMVC的数据验证的时候,看似很简单的东西,却有一个很大的陷阱:提交空表单的时候总是出现404错误,但是后台却不给你报任何错.遇到这个错误这个很苦恼,搞了几小时,今天记录并分享一下解 ...
- Discuz! X upgrade/converter GETSHELL Vulnerability Via /convert/include/global.func.php Inject Special Symbol Into /convert/data/config.inc.php
目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 对于PHP应用来说,处于用户的输入并正确划定"数据-代码"边界 ...
- EF 知识点
EntityFrameWorak知识点记录 发展史 EF1.0时,只支持Database First,数据库优先.必须将设计器指向一个现有的数据库. EF4时,支持Model First,模型优先.可 ...
- HDU 5908 Abelian Period(暴力+想法题)
传送门 Description Let S be a number string, and occ(S,x) means the times that number x occurs in S. i. ...
- Java反射API使用实例
/** * 访问Class对应的类所包含的注释:getAnnotation();getDelaredAnnotation(); * 访问Class对应的类所包含的内部类:getDecl ...
- Beta版本冲刺第四天 12.10
一.站立式会议照片: 二.项目燃尽图: Android端 后台 三.项目进展: 成 员 昨天完成任务 今天完成任务 明天要做任务 问题困难 心得体会 胡泽善 日期合理性的判断,一个是用户反馈的查看 管 ...
- bootstrap学习总结-05 常用标签3
1 单选框,多选框 1)单选框 单选框(radio)用于从多个选项中只选择一个.设置了 disabled 属性的单选或多选框都能被赋予合适的样式.对于和多选或单选框联合使用的 <label> ...