• 窗体的扩展样式和其值


    WS_EX_ACCEPTFILES = 0x00000010
    指明了一个已创建视窗具有拖拽文件功能


    WS_EX_APPWINDOW = 0x00040000
    强制一个可见的顶级视窗到工具栏上


    WS_EX_CLIENTEDGE = 0x00000200
    使一个视窗具有凹陷边框


    WS_EX_COMPOSITED = 0x02000000
    Windows XP:将一个窗体的所有子窗口使用双缓冲按照从低到高方式绘制出来,参阅remark项.如果这个视窗已经使用经典样式中的下列值CS_OWNDC , CS_CLASSDC,WS_EX_CONTEXTHELP.此参数将不能使用.
    这个样式的视窗在标题栏上有一个问号,当拥护点击着个问号,鼠标变成一个问号,如果用户然后点击一个子窗口,子窗就会收到一条WM_HELP消息.子窗口将把这个消息传递给他的父进程,这个父进程将用HELP_WM_HELP命令调用WinHelp函数.这个帮助程序常常弹出一个典型的包含其子窗口的帮助的窗口
    本参数不能和WS_MAXIMIZEBOX ,WS_MINIMIZEBOX一起使用


    WS_EX_CONTROLPARENT = 0x00010000
    这个窗体本身包含了参与对话框导航的子窗口.如果使用了这个参数,对话框管理器?入这个窗体的子窗口,当执行导航操作时,比如按住TAB键,方向键.


    WS_EX_DLGMODALFRAME = 0x00000001
    创建一个具有双边框的窗口,这个窗口可以通过使用WS_CAPTION样式被创建成具有一个标题栏的窗口.


    WS_EX_LAYERED = 0x00080000
    Windows 2000/XP:创建一个分层的窗口.注意,这不能用在子窗口上.同样,如果窗口具有CS_OWNDC ,CS_CLASSDC样式,这也不用使用.


    WS_EX_LAYOUTRTL = 0x00400000
    阿拉伯以及西伯来版本的98/ME,2000/XP创建一个水平起点在右边的窗口.越往左边水平坐标值变大.


    WS_EX_LEFT = 0x00000000
    创建一个窗口具有一般的左对齐属性.此为默认


    WS_EX_LEFTSCROLLBAR = 0x00004000
    如果外壳语言是西伯来,阿拉伯,或者其他阅读顺序的语言,竖滚动条将会在客户区的左边.对其他语言,此参数忽略.


    WS_EX_LTRREADING = 0x00000000
    窗体的文字按照从左到右排列.此为默认.


    WS_EX_MDICHILD = 0x00000040
    创建一个多文档界面的子窗口.


    WS_EX_NOACTIVATE = 0x08000000
    Windows 2000/XP:一个使用此参数创建的顶级窗口不会变成前台窗口,当用户点击他时.系统不会将此窗口放到前台,当用户最小化或者关闭这个前台窗口.
    要激活这样的窗口,使用SetActiveWindow或者SetForegroundWindow函数
    此类型的窗口默认不会显示在任务栏上.要强行将这样的窗口显示到任务栏上,使用WS_EX_APPWINDOW参数.


    WS_EX_NOINHERITLAYOUT = 0x00100000
    Windows 2000/XP:用此参数创建的窗体不会传递他的窗口布局给他的子窗口


    WS_EX_NOPARENTNOTIFY = 0x00000004
    指明一个使用此参数创建的窗口不发送WM_PARENTNOTIFY消息给他的父窗口当这个窗口被创建或者销毁的时候.


    WS_EX_OVERLAPPEDWINDOW = (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
    联合了WS_EX_CLIENTEDGE and WS_EX_WINDOWEDGE styles


    WS_EX_PALETTEWINDOW = (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
    联合了WS_EX_WINDOWEDGE, WS_EX_TOOLWINDOW, and WS_EX_TOPMOST styles.


    WS_EX_RIGHT = 0x00001000
    窗口具有一般的右对齐属性.这要依靠这个窗口的类.这个样式只有外壳语言是西伯来语,阿拉伯语等其他阅读顺序的语言才有影响,否则此样式别忽略 
    对文字标签或者编辑框使用WS_EX_RIGHT样式跟使用SS_RIGHT 或者 ES_RIGHT影响是一样的.对按钮使用这个样式跟使用BS_RIGHT 和BS_RIGHTBUTTON的影响是一样的


    WS_EX_RIGHTSCROLLBAR = 0x00000000
    竖直滚动条显示在客户区的右边.默认.


    WS_EX_RTLREADING = 0x00002000
    如果外壳语言是西伯来语,阿拉伯语等支持排列方式阅读的语言,窗体文字将按照从右到左的阅读顺序.对其他语言,此样式忽略.


    WS_EX_STATICEDGE = 0x00020000
    创建一个窗口具有三维边框用来表示一个项目不接受用户输入.


    WS_EX_TOOLWINDOW = 0x00000080
    创建一个工具窗口:也就是说,这个窗口被用来做浮动工具条.一个工具窗口具有一个比一般的标题栏短的标题栏,并且系统在标题栏使用小字体.作为工具窗口,它不显示在工具栏上.当用户用ALT+TAB切换时也不出现在对话框中.如果一个工具窗有系统菜单,那么他的图标不会被显示在标题栏上.但是,你可以通过键入ALT+TAB或者右键点击标题栏来显示系统菜单.


    WS_EX_TOPMOST = 0x00000008
    指明用此参数创建的窗口将会放在所有顶级视窗上并且停在最上面.即使这个窗口不是活动的.要添加或者移除他,使用SetWindowPos函数.


    WS_EX_TRANSPARENT = 0x00000020
    用此参数创建的的窗口在他同一线程的窗口被绘制前将不会被绘制.这个窗口透明的显示,因为同一线程的窗口已经绘制出来
    要脱离这个限制激活透明,使用SetWindowRgn函数.


    WS_EX_WINDOWEDGE = 0x00000100
    使一个窗口具有凸起的边框.

    ===============================================
    [参考]
    在winuser.h中定义:

    /*
     * Window Styles
     */
    #define WS_OVERLAPPED       0x00000000L
    #define WS_POPUP            0x80000000L
    #define WS_CHILD            0x40000000L
    #define WS_MINIMIZE         0x20000000L
    #define WS_VISIBLE          0x10000000L
    #define WS_DISABLED         0x08000000L
    #define WS_CLIPSIBLINGS     0x04000000L
    #define WS_CLIPCHILDREN     0x02000000L
    #define WS_MAXIMIZE         0x01000000L
    #define WS_CAPTION          0x00C00000L     /* WS_BORDER | WS_DLGFRAME  */
    #define WS_BORDER           0x00800000L
    #define WS_DLGFRAME         0x00400000L
    #define WS_VSCROLL          0x00200000L
    #define WS_HSCROLL          0x00100000L
    #define WS_SYSMENU          0x00080000L
    #define WS_THICKFRAME       0x00040000L
    #define WS_GROUP            0x00020000L
    #define WS_TABSTOP          0x00010000L

    #define WS_MINIMIZEBOX      0x00020000L
    #define WS_MAXIMIZEBOX      0x00010000L


    #define WS_TILED            WS_OVERLAPPED
    #define WS_ICONIC           WS_MINIMIZE
    #define WS_SIZEBOX          WS_THICKFRAME
    #define WS_TILEDWINDOW      WS_OVERLAPPEDWINDOW

    /*
     * Common Window Styles
     */
    #define WS_OVERLAPPEDWINDOW (WS_OVERLAPPED     |
                                 WS_CAPTION        |
                                 WS_SYSMENU        |
                                 WS_THICKFRAME     |
                                 WS_MINIMIZEBOX    |
                                 WS_MAXIMIZEBOX)

    #define WS_POPUPWINDOW      (WS_POPUP          |
                                 WS_BORDER         |
                                 WS_SYSMENU)

    #define WS_CHILDWINDOW      (WS_CHILD)

    /*
     * Extended Window Styles
     */
    #define WS_EX_DLGMODALFRAME     0x00000001L
    #define WS_EX_NOPARENTNOTIFY    0x00000004L
    #define WS_EX_TOPMOST           0x00000008L
    #define WS_EX_ACCEPTFILES       0x00000010L
    #define WS_EX_TRANSPARENT       0x00000020L
    #if(WINVER >= 0x0400)
    #define WS_EX_MDICHILD          0x00000040L
    #define WS_EX_TOOLWINDOW        0x00000080L
    #define WS_EX_WINDOWEDGE        0x00000100L
    #define WS_EX_CLIENTEDGE        0x00000200L
    #define WS_EX_CONTEXTHELP       0x00000400L

    #endif /* WINVER >= 0x0400 */
    #if(WINVER >= 0x0400)

    #define WS_EX_RIGHT             0x00001000L
    #define WS_EX_LEFT              0x00000000L
    #define WS_EX_RTLREADING        0x00002000L
    #define WS_EX_LTRREADING        0x00000000L
    #define WS_EX_LEFTSCROLLBAR     0x00004000L
    #define WS_EX_RIGHTSCROLLBAR    0x00000000L

    #define WS_EX_CONTROLPARENT     0x00010000L
    #define WS_EX_STATICEDGE        0x00020000L
    #define WS_EX_APPWINDOW         0x00040000L

    #define WS_EX_OVERLAPPEDWINDOW  (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
    #define WS_EX_PALETTEWINDOW     (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)

    #endif /* WINVER >= 0x0400 */

    #if(_WIN32_WINNT >= 0x0500)
    #define WS_EX_LAYERED           0x00080000

    #endif /* _WIN32_WINNT >= 0x0500 */


    #if(WINVER >= 0x0500)
    #define WS_EX_NOINHERITLAYOUT   0x00100000L // Disable inheritence of mirroring by children
    #define WS_EX_LAYOUTRTL         0x00400000L // Right to left mirroring
    #endif /* WINVER >= 0x0500 */

    #if(_WIN32_WINNT >= 0x0500)
    #define WS_EX_COMPOSITED        0x02000000L
    #define WS_EX_NOACTIVATE        0x08000000L
    #endif /* _WIN32_WINNT >= 0x0500 */

  • 相关阅读:
    Ftp、Ftps与Sftp之间的区别
    Previous Workflow Versions in Nintex Workflow
    Span<T>
    .NET Core 2.0及.NET Standard 2.0 Description
    Announcing Windows Template Studio in UWP
    安装.Net Standard 2.0, Impressive
    SQL 给视图赋权限
    Visual Studio for Mac中的ASP.NET Core
    How the Microsoft Bot Framework Changed Where My Friends and I Eat: Part 1
    用于Azure功能的Visual Studio 2017工具
  • 原文地址:https://www.cnblogs.com/redrainblog/p/3910929.html
Copyright © 2020-2023  润新知