WIN32窗口类风格和窗口风格(备查询)
一.WNDCLASS
typedef struct {
UINT cbSize //这个结构体的长度,一般用sizeof(WNDCLASSEX)设置
UINT style //窗口式样
WNDPROC lpfnWndProc //窗口消息处理的函数名
int cbClsExtra //分配给窗口类结构之后的额外字节数,一般为0
int cbWndExtra //分配给窗口实例之后的额外字节数,一般为0
HINSTANCE hInstance //想要申请的窗口实例句柄
HICON hIcon //运行时的图标,NULL时取系统缺省图标
HCURSOR hCursor //光标
HBRUSH hbrBackground //背景
LPCTStr lpszMenuName //菜单
LPCTStr lpszClassName //窗口名
HICON hIconSm; //缩小时的图标,NULL时取系统缺省图标
} WNDCLASSEX, *PWNDCLASSEX;
窗口式样style的值可用下表的值组合起来设置,窗口处理函数名lpfnWndProc和hInstance不能设置错。光标有2个hIcon和hIconSm,当取不到值时自动分配一个系统缺省值。光标hCursor可选择下面的光标ID设置到结构体中去。关于图标、背景、菜单后面有专门章节介绍。下面在上一章的基础之上,修改部分数据,看看有什么变化。
| 设置值 | 解说 |
|---|---|
| CS_HREDRAW | 窗口客户区宽度发生改变时重绘窗口 |
| CS_VREDRAW | 窗口客户区高度发生改变时重绘窗口 |
| CS_DBLCLKS | 鼠标双击时系统所发的消息 |
| CS_NOCLOSE | 禁用系统菜单中的“关闭”命令 |
| CS_OWNDC | 为该窗口类的各窗口分配各自独立的设备环境 |
| CS_CLASSDC | 为该窗口类的各窗口分配一个共享的设备环境 |
| CS_PARENtdC | 指定子窗口继承其父窗口的设备环境 |
| CS_SAVEBITS | 把被窗口覆盖的屏幕部分作为位图保存起来。 当窗口被刷新时,系统使用被保存的位图来重画窗口。 |
| CS_BYTEALIGNCLIENT | Aligns the window's client area on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display. |
| CS_BYTEALIGNWINDOW | Aligns the window on a byte boundary (in the x direction). This style affects the width of the window and its horizontal placement on the display. |
| CS_GLOBALCLASS | Specifies that the window class is an application global class. For more information, see Application Global Classes. |
二.WS_
HWND CreateWindow(
LPCTSTR lpClassName, //窗口名
LPCTSTR lpWindowName, //窗口标题
DWORD dwStyle, //窗口式样
int x, //窗口左上角的x坐标
int y, //窗口左上角的y坐标
int nWidth, //窗口的宽度
int nHeight, //窗口的高度
HWND hWndParent, //父窗口句柄
HMENU hMenu, //菜单句柄
HINSTANCE hInstance, //实例句柄
LPVOID lpParam //创建参数
);
| 设置值 | 解说 |
|---|---|
| WS_OVERLAPPEDWINDOW | 层叠式窗口,有边框、标题栏、系统菜单、最大最小化按钮,是以下几种风格的集合:WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, WS_MAXIMIZEBOX |
| WS_POPUPWINDOW | 弹出式窗口,是以下几种风格的集合: WS_BORDER,WS_POPUP,WS_SYSMENU。WS_CAPTION与WS_POPUPWINDOW风格一起使用时窗口菜单才能可见 |
| WS_OVERLAPPED | 层叠式窗口,有标题栏和边框,与WS_TILED风格类似 |
| WS_POPUP | 弹出式窗口,与WS_CHILD不能同时使用 |
| WS_BORDER | 窗口有单线边框 |
| WS_CAPTION | 窗口有标题栏 |
| WS_CHILD | 子窗口,不能与WS_POPUP同时使用 |
| WS_DISABLED | 为无效窗口 |
| WS_HSCROLL | 水平滚动条 |
| WS_ICONIC | 初始化为最小化 |
| WS_MAXIMIZE | 初始化为最大化 |
| WS_MAXIMIZEBOX | 有最大化按钮 |
| WS_MINIMIZE | 与WS_MAXIMIZE一样 |
| WS_MINIMIZEBOX | 窗口有最小化按钮 |
| WS_SIZEBOX | 边框可进行大小控制的窗口 |
| WS_SYSMENU | 创建一个有系统菜单的窗口,必须与WS_CAPTION风格同时使用 |
| WS_THICKFRAME | 创建一个大小可控制的窗口,与WS_SIZEBOX风格一样. |
| WS_TILED | 创建一个层叠式窗口,有标题栏 |
| WS_VISIBLE | 窗口为可见 |
| WS_VSCROLL | 窗口有垂直滚动条 |
WIN32窗口类风格和窗口风格(备查询)的更多相关文章
- 探索Win32系统之窗口类(转载)
Window Classes in Win32 摘要 本文主要介绍win32系统里窗口类的运做和使用机制,探索一些细节问题,使win32窗口类的信息更加明朗化. 在本文中,"类", ...
- Win32编程:窗口类样式+窗口外观样式+窗口显示样式
1.窗口类样式WNDCLASS.style CS_VREDRAW 提供窗口位置变化事件和高度变化事件的处理程序,功能是重绘窗口 CS_HREDRAW 提供窗口位置变化事件和宽度变化事件的处理程序,功能 ...
- ATL7窗口类详细剖析
前言: ATL是微软继MFC之后提供的一套C++模板类库,小巧.精妙.效率极高.它的主要作用是为我们编写COM/DOM/COM+程序提供了丰富的支持.但是ATL只能写COM么?我以前只是MFC程序员的 ...
- Window 窗口类
窗口类 WNDCLASS 总结 总结为下面的几个问题: . 什么是窗口类 . 窗口类的三种类型 . 窗口类各字段含义 . 窗口类的注册和注销 . 如何使用窗口类,子类化.超类化是什么 下面分别描述: ...
- 窗口类(Window Class)概述
windows窗口编程(通常意义上的win32)有几个比较核心的概念:入口函数WinMain.窗口类Window Class.窗口过程.消息处理机制.通用控件.本文主要介绍窗口类的相关概念,包括: 窗 ...
- 窗口的子类化与超类化——子类化是窗口实例级别的,超类化是在窗口类(WNDCLASS)级别的
1. 子类化 理论:子类化是这样一种技术,它允许一个应用程序截获发往另一个窗口的消息.一个应用程序通过截获属于另一个窗口的消息,从而实现增加.监视或者修改那个窗口的缺省行为.子类化是用来改变或者扩展一 ...
- Delphi XE增强的RTTI妙用--动态创建包中的窗口类
以前要在运行时创建package中的form类,必须要在form单元文件中这样注册类: Initialization RegisterClass(TForm3);Finalization UnRe ...
- VC----Class Style类风格和窗口风格
CS_BYTEALIGNCLIENT:以字节边界来对齐窗口客户区,这个风格会影响 窗口 的宽度和水平位置.实际上没有看到效果. CS_BYTEALIGNWINDOW:以字节边界来对齐窗口,这个风格会影 ...
- Windows常见窗口样式和控件风格
Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)WS_CHILDWINDOW 子窗口(不能与WS_PO ...
随机推荐
- 流计算技术实战 - CEP
CEP,Complex event processing Wiki定义 "Complex event processing, or CEP, is event processing that ...
- linux 源码安装 mono
$ yum install bison gettext glib2 freetype fontconfig libpng libpng-devel libX11 libX11-devel glib2- ...
- 机器学习:K-近邻算法
K-近邻算法 优点:精度高.对异常值不敏感.无数据输入假定.缺点:计算复杂度高.空间复杂度高.使用数据范围:数值型和标称型. k-近邻算法的一般流程 搜集数据:可以使用任何方法.准备数据:距离计算所需 ...
- Spring 测试
1. pom.xml ==> Depency <!-- Test --> <dependency> <groupId>junit</groupId> ...
- java之面向对象的基础知识
面向对象其实是种思想,凡是思想都是比较抽象的,所以我们总要找到一些方法使它便于我们理解:建模就是最常用的方式,而建模的一个特点就是减少关注度,尽量减少对具体细节的关注,这在面向对象三大特性中深有体现. ...
- 重读《深入理解Java虚拟机》五、虚拟机如何执行字节码?程序方法如何被执行?虚拟机执行引擎的工作机制
Class文件二进制字符流通过类加载器和虚拟机加载到内存(方法区)完成在内存上的布局和初始化后,虚拟机字节码执行引擎就可以执行相关代码实现程序所定义的功能.虚拟机执行引擎执行的对象是方法(均特指非本地 ...
- Lua: 给 Redis 用户的入门指导(转)
add by zhj : Lua与Multi/EXEC的功能比较像,在执行过程中,redis不会执行其它命令,这就不会有并发访问的问题, 这是非常好的.但Multi/EXEC要求所有命令都是独立的,后 ...
- winform创建快捷方式
/// <summary> /// 创建快捷方式 /// </summary> public class Lnk { /// <summary> /// 创建快捷方 ...
- MySQL Sandbox安装使用
前言 经常看见新同学对于安装MySQL十分惧怕,这是因为不熟悉的缘故,确实源码编译比较麻烦,缺少各种依赖包也够折腾的.当然还有预编译包,但是对于新同学来说好像都挺麻烦的.当然有yum安装,但是我们需要 ...
- 前端 HTML 标签分类
三种: 1.块级标签: 独占一行,可设置宽度,高度.如果设置了宽度和高度,则就是当前的宽高.如果宽度和高度没有设置,宽度是父盒子的宽度,高度根据内容填充. 2.行内标签:在一行内显示,不能设置宽度,高 ...