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类风格和窗口风格的更多相关文章

  1. WIN32窗口类风格和窗口风格(备查询)

    一.WNDCLASS typedef struct { UINT cbSize //这个结构体的长度,一般用sizeof(WNDCLASSEX)设置 UINT style //窗口式样 WNDPROC ...

  2. MFC窗口风格 WS_style/WS_EX_style(超详细)

    窗口风格(Window style) WS_BORDER   有边框窗口 WS_CAPTION   必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用.指示窗口包含标题要部分 ...

  3. MFC窗口风格 WS_style/WS_EX_style

    窗口风格(Window style) WS_BORDER   有边框窗口 WS_CAPTION   必须和WS_BORDER风格配合,但不能与WS_DLGFRAME风格一起使用.指示窗口包含标题要部分 ...

  4. WS_窗口风格常量

    WS_窗口风格常量 WS_BODER 窗口具有细线边框 WS_CAPTION 窗口具有标题栏(包含 WS_BODER) WS_CHILD 创建一个子窗口(此风格不能与 WS_POPUP 一起使用 ) ...

  5. vs调试看窗口风格

    vs调试看窗口风格 技巧:在数值上右键,以16进制显示.

  6. VC编程小技巧之框架窗口及其他

    1.修改主窗口风格 AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名.窗口是叠加型的.可改变窗口大小等.要修改窗口的缺省风格,需要重载CWnd::Pre ...

  7. 精通 VC++ 实效编程280例 - 01 窗口

    窗口是屏幕上的一个矩形区域.窗口分为3种:重叠窗口.弹出窗口和子窗口.每个窗口都有由系统绘制的“非客户区”和应用程序绘制的“客户区”.在 MFC 中,CWnd 类为各种窗口提供了基类. 1 通过 HW ...

  8. 积累的VC编程小技巧之框架窗口及其他

    1.修改主窗口风格 AppWizard生成的应用程序框架的主窗口具有缺省的窗口风格,比如在窗口标题条中自动添加文档名.窗口是叠加型的.可改变窗口大小等.要修改窗口的缺省风格,需要重载CWnd::Pre ...

  9. vc如何让打开的子窗口默认是最大化的

    vc如何让打开的子窗口默认是最大化的 浏览: 3554 | 更新: 2011-04-09 17:04 1 0     加入杂志加入杂志 摘要:关于vc如何让打开的子窗口默认是最大化的深入研究.   步 ...

随机推荐

  1. SpringTest框架JUnit单元测试用例获取ApplicationContext实例的方法

    步骤 1.继承AbstractJUnit4SpringContextTests 2.引入ApplicationContext 示例代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ...

  2. JDK历史版本下载

    JDK6: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase6-419409. ...

  3. 使用CXF 来发布一个 service

    参考官网文档:http://cxf.apache.org/docs/writing-a-service-with-spring.html 从官网上下载 cxf 的包,包里会有 samples 文件夹, ...

  4. SpringMVC与Struts2区别与比较总结

    1.Struts2是类级别的拦截, 一个类对应一个request上下文,SpringMVC是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应,所以说从架构本身上Spr ...

  5. perl push an array to hash

    #!/usr/bin/perl use strict; use warnings; use Data::Dumper; my @array=qw /fm1 fm2 fm3 fm4 fm5 fm6/; ...

  6. [poj2446]Chessboard

    Description 给定一个m×n的棋盘,上面有k个洞,求是否能在不重复覆盖且不覆盖到洞的情况下,用2×1的卡片完全覆盖棋盘. Input 第一行有三个整数n,m,k(0<m,n<=3 ...

  7. 【poj3263】 Tallest Cow

    http://poj.org/problem?id=3263 (题目链接) 题意 n头奶牛排成一排,最高的一头I身高H,给出R个条件(a,b),表示a,b之间的奶牛都要比a矮,b的身高大于等于a.求每 ...

  8. Linux Overflow Vulnerability General Hardened Defense Technology、Grsecurity/PaX

    Catalog . Linux attack vector . Grsecurity/PaX . Hardened toolchain . Default addition of the Stack ...

  9. 数据结构算法C语言实现(二)---2.3线性表的链式表示和实现之单链表

    一.简述 [暂无] 二.头文件 #ifndef _2_3_part1_H_ #define _2_3_part1_H_ //2_3_part1.h /** author:zhaoyu email:zh ...

  10. MOOCULUS微积分-2: 数列与级数学习笔记 2. Series

    此课程(MOOCULUS-2 "Sequences and Series")由Ohio State University于2014年在Coursera平台讲授. PDF格式教材下载 ...