1.窗口类样式WNDCLASS.style

CS_VREDRAW

提供窗口位置变化事件和高度变化事件的处理程序,功能是重绘窗口

CS_HREDRAW

提供窗口位置变化事件和宽度变化事件的处理程序,功能是重绘窗口

CS_DBLCLKS

提供窗口双击事件的处理程序,功能是使窗口在最大化与正常尺寸之间切换

CS_BYTEALIGNCLIENT

提供窗口位置变化事件的处理程序,功能是使位置变化后客户区的左边坐标是8的倍数

CS_BYTEALIGNWINDOW

提供窗口位置变化事件的处理程序,功能是使位置变化后窗口的左边坐标是8的倍数

CS_NOCLOSE

使系统栏上的关闭按钮和系统菜单上的关闭命令失效

CS_DROPSHADOW

实现窗体边框阴影效果

CS_SAVEBITS

将被窗口遮挡的部分保存为位图,当窗口移开后,用此位图可快速恢复被遮挡的部分。通常菜单栏、对话框及下拉框等需此功能

CS_OWNDC

使基于此窗口类的每个窗口都拥有自己的设备描述表

CS_CLASSDC

使基于此窗口类的所有窗口都共享一个设备描述表,但同一时刻只能一个窗体操作设备描述表

CS_PARENTDC

基于此窗口类的窗口使用其父窗口类的设备描述表(父窗口和子窗口不一定属于同一窗口类)

CS_GLOBALCLASS

使窗体类是应用程序全局类(一个在进程中对所有模块都有效的exe或dll注册的窗体类)

此外,移动窗口事件(鼠标移动=鼠标左键按下+鼠标移动+鼠标左键释放,键盘移动=……)是默认支持的(即内置支持的),所以默认事件处理程序是必不可少的,否者程序无法运行。

DefWindowProc(hwnd, uMsg, wParam, lParam);

2.窗口外观样式window style

WS_OVERLAPPED=WS_TILED=WS_BORDER|WS_CAPTION

WS_OVERLAPPEDWINDOW=WS_TILEDWINDOW=WS_OVERLAPPED|WS_CAPTION|WS_SYSMENU|WS_THICKFRAME|WS_MINIMIZEBOX|WS_MAXIMIZEBOX

WS_POPUPWINDOW=WS_POPUP|WS_BORDER|WS_SYSMENU

WS_BORDER

WS_CAPTION(包含WS_BORDER不能与WS_DLGFRAME共存)

WS_DLGFRAME(包含WS_CAPTION不能与WS_CAPTION共存)

WS_POPUP(不能与WS_CHILD共存)

WS_CHILD=WS_CHILDWINDOW (不能与WS_POPUP共存)

WS_SYSMENU(包含WS_CAPTION,含关闭按钮)

WS_THICKFRAME=WS_SIZEBOX(包含WS_CAPTION)

WS_MINIMIZEBOX(包含WS_CAPTION需要指定WS_SYSMENU才有效)

WS_MAXIMIZEBOX(包含WS_CAPTION需要指定WS_SYSMENU才有效)

WS_VSCROLL(包含WS_CAPTION)

WS_HSCROLL(包含WS_CAPTION)

WS_MAXIMIZE(包含WS_CAPTION优先纺低于窗口样式SW_XXX)

WS_MINIMIZE=WS_ICONIC(包含WS_CAPTION优先纺低于窗口样式SW_XXX)

WS_VISIBLE(EnableWindow)

WS_DISABLED(ShowWindow|SetWindowPos)

WS_GROUP(包含WS_CAPTION,指定此属性的控件与之后创建的且未指定此属性的控件属于同一组)

WS_TABSTOP(包含WS_CAPTION,指定此属性的同一组的控件之间可通过Tab键切换聚焦)

WS_CLIPSIBLINGS(包含WS_CAPTION,作为子窗口当重绘时不重绘被其它子窗口遮挡的区域)

WS_CLIPCHILDREN(包含WS_CAPTION,作为父窗口当重绘时不重绘制被子窗口遮挡的区域)

3.窗口显示样式

Win32编程:窗口类样式+窗口外观样式+窗口显示样式的更多相关文章

  1. MFC注册窗口类以及FindWindow按窗口类名查询(避免用#32770获取窗口句柄)

    呵呵,最近在研究SendMessage函数,其中需要用到m_hWnd,之后延伸着又尝试获得窗口的句柄,于是遇到了FindWindow函数,原型如下: HWND FindWindow ( LPCSTR ...

  2. MFC注册窗口类以及FindWindow按窗口类名查询

    很多玩游戏的人都知道一般游戏客户端程序是不允许双开的,就是说在同一游戏在启动的时候,是无法打开多个窗口.很多其他软件如酷狗播放器等也是这样.如果把打开的窗口最小化,这时重新启动程序,最小化的窗口会被显 ...

  3. 探索Win32系统之窗口类(转载)

    Window Classes in Win32 摘要 本文主要介绍win32系统里窗口类的运做和使用机制,探索一些细节问题,使win32窗口类的信息更加明朗化. 在本文中,"类", ...

  4. Win32编程API 基础篇 -- 2.一个简单的窗口 根据英文教程翻译

    一个简单的窗口 例子:简单的窗口 有时人们在IRC提问,”我应该怎样制作一个窗口”...嗯,这恐怕不是完全这么简单好回答!其实这并不难一旦你明白你在做什么,但在你得到一个可展示的窗口之前还有一些事情需 ...

  5. 12 Windows编程——子窗口和系统内置窗口类“BUTTON”

    创建子窗口类,使得子窗口有自己的处理过程. 子窗口类型WS_CHILD不能和WS_POPUP一起使用!为什么子窗口要有自己的处理过程?如果使用主窗口类来创建子窗口,那么子窗口和主窗口将公用窗口处理过程 ...

  6. 窗口类(Window Class)概述

    windows窗口编程(通常意义上的win32)有几个比较核心的概念:入口函数WinMain.窗口类Window Class.窗口过程.消息处理机制.通用控件.本文主要介绍窗口类的相关概念,包括: 窗 ...

  7. Win32汇编学习(3):简单的窗口

    这次我们将写一个 Windows 程序,它会在桌面显示一个标准的窗口,以此根据代码来学习如何创建一个简单的窗口. 理论: Windows 程序中,在写图形用户界面时需要调用大量的标准 Windows ...

  8. ATL7窗口类详细剖析

    前言: ATL是微软继MFC之后提供的一套C++模板类库,小巧.精妙.效率极高.它的主要作用是为我们编写COM/DOM/COM+程序提供了丰富的支持.但是ATL只能写COM么?我以前只是MFC程序员的 ...

  9. 窗口的子类化与超类化——子类化是窗口实例级别的,超类化是在窗口类(WNDCLASS)级别的

    1. 子类化 理论:子类化是这样一种技术,它允许一个应用程序截获发往另一个窗口的消息.一个应用程序通过截获属于另一个窗口的消息,从而实现增加.监视或者修改那个窗口的缺省行为.子类化是用来改变或者扩展一 ...

  10. Window 窗口类

    窗口类 WNDCLASS 总结 总结为下面的几个问题: . 什么是窗口类 . 窗口类的三种类型 . 窗口类各字段含义 . 窗口类的注册和注销 . 如何使用窗口类,子类化.超类化是什么 下面分别描述: ...

随机推荐

  1. Quartus ii 12.0 和ModelSim 10.1 SE安装及连接

    quartus ii 10.0后就没有自带的仿真软件,每次写完一个VerilogHDL都想简单仿真一下,结果发现没有了自带仿真软件.这时候就需要第三方仿真软件ModelSim 10.1 SE. Qua ...

  2. 没有纳入spring管理的类如何注入spring管理的对象

    spring 如何在普通类中调用注入的对象? spring 在Thread中注入@Resource失败,总为null~解决 springmvc 注入总是空指针异常? 以上的几个问题就是我在项目中遇到的 ...

  3. hdu 1053 (huffman coding, greedy algorithm, std::partition, std::priority_queue ) 分类: hdoj 2015-06-18 19:11 22人阅读 评论(0) 收藏

    huffman coding, greedy algorithm. std::priority_queue, std::partition, when i use the three commente ...

  4. UI的一些方法(按钮和线)

    //设置按钮字体颜色 [self.determineBtn setTitleColor:[UIColor colorWithHexString:@"0xff9500"] forSt ...

  5. O365 "打开或关闭脚本"功能

    博客地址:http://blog.csdn.net/FoxDave 自定义功能是 SharePoint Online 最具吸引力的功能之一,因为它使管理员和用户可以调整网站和页面的外观以满足组织目 ...

  6. qpython3 读取安卓lastpass Cookies

    之前我的博客写了python读取windows chrome Cookies,沿着同样的思路,这次本来想尝试读取安卓chrome Cookies, 但是可能是chrome的sqlite3版本比较高读取 ...

  7. Java 基本语法(1)

    关键字 关键字的定义和特点 定义:被Java语言赋予了特殊含义,用做专门用途的字符串(单词) 特点:关键字中所有字母都为小写 Java保留字:现有Java版本尚未使用,但以后版本可能会作为关键字使用. ...

  8. transform:rotate在手机上显示有锯齿的解决方案

    transform:rotate 属于简单好用的效果,但在手机上显示时,会有比较明显锯齿. 解决方案也很简单, 利用外层容器的overflow:hidden 加上图片margin:-1px 就可以解决 ...

  9. 三部曲二(基本算法、动态规划、搜索)-1004-Instant Complexity

    Instant Complexity Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 20000/10000K (Java/Other) ...

  10. SQL 变量

    1.变量可以暂时储存数据 --定义变量:  declare @xxx int --变量赋值:  set @xxx=1  select @xxx=3 --变量的使用:  print @xxx 2.--全 ...