窗口样式
1 一、窗口样式
2
3 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用)
4 WS_CHILDWINDOW 子窗口(不能与WS_POPUP合用)
5 WS_MINIMIZE 创建窗口拥有最小化按钮
6 WS_MINIMIZEBOX 创建窗口拥有最小化按钮,须同时指定WS_SYSTEM样式
7 WS_VISIBLE 可见状态
8 WS_DISABLED 不可用状态
9 WS_CLIPSIBLINGS 使窗口排除子窗口之间的相对区域
10 WS_CLIPCHILDREN 当在父窗口内绘图时,排除子窗口区域
11 WS_MAXIMIZE 具有最大化按钮
12 WS_MAXIMIZEBOX 创建窗口拥有最大化按钮,须同时指定WS_SYSTEM样式
13 WS_CAPTION 有标题框和边框(和WS_TILED样式相同)
14 WS_BORDER 有单边框
15 WS_DLGFRAME 带对话框边框样式,不带标题框
16 WS_VSCROLL 有垂直滚动条
17 WS_HSCROLL 有水平滚动条
18 WS_SYSMENU 标题框上带有窗口菜单(须指定WS_CAPTION样式)
19 WS_THICKFRAME 有可调边框(与WS_SIZEBOX样式相同)
20 WS_TILED 与WS_OVERLAPPED风格相同
21 WS_TILEDWINDOW 与WWS_OVERLAPPEDWINDOW风格相同
22 WS_GROUP 组样式,每个组的第一个控件具有WS_TABSTOP样式
23 WS_TABSTOP 可接受TAB键
24 WS_OVERLAPPED 创建一个重叠式窗口,拥有标题栏和边框
25 WS_OVERLAPPEDWINDOW 即:WS_OVERLAPPED风格,WS_CAPTION风格,WS_SYSMENU风格
26 WS_THICKFRAME风格,WS_MINIMIZEBOX风格和WS_MAXIMIZEBOX
27 风格的组合
28
29
30
31
32
33 /* 窗口扩展样式参考列表:
34
35 WS_EX_APPWINDOW - 当窗口可见时将一个顶层窗口放置在任务栏上
36 WS_EX_NOINHERITLAYOUT - 子控件不继承窗体或控件的布局
37 WS_EX_LAYOUTRTL - 窗体或控件将具有从右向左的布局(因而会被镜像)
38 WS_EX_COMPOSITED - 用双缓冲从下到上绘制窗口的所有子孙(WinXP以上)
39 WS_EX_NOACTIVATE - 处于顶层但不激活
40
41
42 二、按钮风格
43
44 BS_AUTOCHECKBOX 同复选按钮类似,点击一下选中,再次点击取消。
45 BS_AUTORADIOBUTTON同单选按钮类似,点击后选中标志将从同组的其他单选按钮处移到当前选项。
46 BS_CHECKBOX 复选按钮
47 BS_DEFPUSHBUTTON 默认普通按钮,具有较黑的边框。
48 BS_GROUPBOX 分组框
49 BS_LEFTTEXT 同单选按钮或复选按钮配合使用,标题将显示在左侧。
50 BS_OWNERDRAW 可创建一个拥有者自绘按钮。
51 BS_PUSHBUTTON 普通下压按钮
52 BS_RADIOBUTTON 圆形单选按钮
53 BS_3STATE 三态复选按钮,三种状态即:选中,未选中,未定
54 BS_AUTOCHECKBOX 检查框,按钮的状态会自动改变
55 BS_AUTORADIOBUTTON圆形选择按钮,按钮的状态会自动改变
56 BS_AUTO3STATE 允许按钮有三种状态即:选中,未选中,未定
57 BS_CHECKBOX 检查框
58 BS_LEFTTEXT 左对齐文字
59
60 三、旋转按钮控件
61
62 UDS_HORZ 指定一个水平旋转按钮.若不指定该风格则创建一个垂直的旋转按钮.
63 UDS_WRAP 当旋转按钮增大到超过最大值时,自动重置为最小值,当减小至低于最小值时,自动重置为最大值.
64 UDS_ARROWKEYS 当用户按下向下或向上箭头键时,旋转按钮值递增或递减.
65 UDS_SETBUDDYINT 旋转按钮将自动更新伙伴控件中显示的数值,如果伙伴控件能接受输入,则可在伙伴控件中输入新的旋转按钮值.
66 UDS_NOTHOUSANDS 伙伴控件中显示的数值每隔三位没有千位分隔符.
67 UDS_AUTOBUDDY 自动使旋转按钮拥有一个伙伴控件.
68 UDS_ALIGNRIGHT 旋转按钮在伙伴控件的右侧.
69 UDS_ALIGNLEFT 旋转按钮在伙伴控件的左侧.
70
71 四、轨道条控件
72
73 TBS_HORZ 指定一个水平轨道条.该风格是默认的.
74 TBS_VERT 指定一个垂直轨道条.
75 TBS_AUTOTICKS 在范围设定后,自动为轨道条加上刻度.
76 TBS_NOTICKS 轨道条无刻度.
77 TBS_BOTTOM 在水平轨道条的底部显示刻度,可与TBS_TOP一起使用.
78 TBS_TOP 在水平轨道条的顶部显示刻度,可与TBS_BOTTOM一起使用.
79 TBS_RIGHT 在垂直轨道条的右侧显示刻度,可与TBS_LEFT一起使用.
80 TBS_LEFT 在垂直轨道条的左侧显示刻度,可与TBS_RIGHT一起使用.
81 TBS_BOTH 在轨道条的上下部或左右两侧都显示刻度.
82 TBS_ENABLESELRANGE 在轨道条中显示一个选择范围.
83
84 五、文本编辑框风格
85
86 ES_AUTOHSCROLL 当在行尾添加一个字符后自动向右滚动10个字符。
87 ES_AUTOVSCROLL 当输入回车后自动上滚一行。
88 ES_CENTER 字符居中显示。
89 ES_LEFT 字符左对齐。
90 ES_LOWERCASE 统一转化为小写字母。
91 ES_MULTILINE 允许多行显示。
92 ES_NOHIDESEL 当编辑失去焦点时隐藏对字符的选定,重新获得焦点后以反色显示选中内容。
93 ES_OEMCONVERT 将ANSI字符转化为OEM字符。
94 ES_PASSWORD 以星号显示字符,多用于回显密码。
95 ES_RIGHT 字符右对齐
96 ES_UPPERCASE 统一转化为大写字母。
97 ES_READONLY 设置字符为只读。
98 ES_WANTRETURN 接受回车键输入。
99
100 六、列表框风格
101
102 LBS_STANDARD 创建一个具有边界和垂直滚动条、当选择发生变化或条目被双击时能够通知父窗口的标准列表框。所有条目按字母排序。
103 LBS_SORT 按字母排序。
104 LBS_NOSEL 条目可视但不可选。
105 LBS_NOTIFY 当用户选择或双击一个串时,发出消息通知父窗口。
106 LBS_DISABLENOSCROLL 在条目不多时依然显示并不起作用的滚动条。
107 LBS_MULTIPLESEL 允许条目多选。
108 LBS_EXTENDEDSEL 可用SHIFT和鼠标或指定键组合来选择多个条目。
109 LBS_MULTICOLUMN 允许多列显示。
110 LBS_OWNERDRAWVARIABLE 创建一个拥有者画列表框,条目高度可以不同。
111 LBS_OWNERDRAWFIXED 创建一个具有相同条目高度的拥有者画列表框。
112 LBS_USETABSTOPS 允许使用TAB制表符。
113 LBS_NOREDRAW 当条目被增删后不自动更新列表显示。
114 LBS_HASSTRINGS 记忆了添加到列表中的字串。
115 LBS_WANTKEYBOARDINPUT 当有键按下时向父窗口发送WM_VKEYTOITEM或WM_CHARTOITEM消息。
116 LBS_NOINTEGRALHEIGHT 按程序设定尺寸创建列表框。
117
118 七、组合框风格
119
120 CBS_AUTOHSCROLL 当在行尾输入字符时自动将编辑框中的文字向右滚动。
121 CBS_DROPDOWN 同CBS_SIMPLE风格类似,只是只有在用户点击下拉图标时才会显示出下拉列表。
122 CBS_DROPDOWNLIST 同CBS_DROPDOWN类似,只是显示当前选项的编辑框为一静态框所代替。
123 CBS_HASSTRINGS 创建一个包含了由字串组成的项目的拥有者画组合框。
124 CBS_OEMCONVERT 将组合框中的ANSI字串转化为OEM字符。
125 CBS_OWNERDRAWFIXED 由下拉列表框的拥有者负责对内容的绘制;列表框中各项目高度相同。
126 CBS_OWNERDRAWVARIABLE 由下拉列表框的拥有者负责对内容的绘制;列表框中各项目高度可以不同。
127 CBS_SIMPLE 下拉列表始终显示。
128 CBS_SORT 自动对下拉列表中的项目进行排序。
129 CBS_DISABLENOSCROLL 当下拉列表显示内容过少时显示垂直滚动条。
130 CBS_NOINTEGRALHEIGHT在创建控件时以指定的大小来精确设定组合框尺寸。
131
132 八、树形视图控件
133
134 TVS_HASLINES 在父项与子项间连线以清楚地显示结构.
135 TVS_LINESATROOT 只在根部画线.
136 TVS_HASBUTTONS 显示带有"+"或"-"的小方框来表示某项能否被展开或已展开.
137 TVS_EDITLABELS 用户可以编辑表项的标题.
138 TVS_SHOWSELALWAYS 即使控件失去输入焦点,仍显示出项的选择状态.
139 TVS_DISABLEDRAGDROP 不支持拖动操作.
140
141 九、列表视图控件
142
143
144 LVS_ALIGNLEFT 当显示格式是大图标或小图标时,标题放在图标的左边.缺省情况下标题放在图标的下面.
145 LVS_ALIGNTOP 当显示格式是大图标或小图标时,标题放在图标的上边.
146 LVS_AUTOARRANGE 当显示格式是大图标或小图标时,自动排列控件中的表项.
147 LVS_EDITLABELS 用户可以修改标题.
148 LVS_ICON 指定大图标显示格式.
149 LVS_LIST 指定列表显示格式.
150 LVS_NOCOLUMNHEADER 在报告格式中不显示列的表头.
151 LVS_NOLABELWRAP 当显示格式是大图标时,使标题单行显示.缺省时是多行显示.
152 LVS_NOSCROLL 列表视图无滚动条.
153 LVS_NOSORTHEADER 报告列表视图的表头不能作为排序按钮使用.
154 LVS_OWNERDRAWFIXED 由控件的拥有者负责绘制表项.
155 LVS_REPORT 指定报告 显示格式.
156 LVS_SHAREIMAGELISTS 使列表视图共享图像序列.
157 LVS_SHOWSELALWAYS 即使控件失去输入焦点,仍显示出项的选择状态.
158 LVS_SINGLESEL 指定一个单选择列表视图.缺省时可以多项选择.
159 LVS_SMALLICON 指定小图标显示格式.
160 LVS_SORTASCENDING 按升序排列表项.
161 LVS_SORTDESCENDING 按降序排列表项.
162
163 十、静态文本框风格
164
165 SS_CENTER 字符居中显示。
166 SS_LEFT 字符左对齐。
167 SS_LEFTNOWORADWRAP 字符左对齐,可处理TAB制表符,不支持自动换行,超过末尾字符被裁剪。
168 SS_BLACKRECT 用窗口边框色填充的矩形。
169 SS_BLSCKFRAME 矩形边框,与窗口边框同色。
170 SS_GRAYRECT 用屏幕背景色填充的矩行。
171 SS_GRAYFRAME 矩形边框,使用屏幕背景色。
172 SS_WHITERECT 用窗口背景色填充的矩行。
173 SS_RIGHT 字符右对齐
174 SS_WHITEFRAME 矩形边框,使用窗口背景色。
175
176
177
178
179
180 /* 控件样式参考列表:
181 DS_ABSALIGN - 对话框的坐标为屏幕坐标(缺省为客户区坐标)
182 DS_SYSMODAL - 系统模式(仅支持16位程序),不能与DS_CONTROL同用
183 DS_LOCALEDIT - 在对话框内部为编辑框分配内存(仅支持16位程序)
184 DS_SETFONT - 可定制对话框字体
185 DS_MODALFRAME - 框架样式(不能与WS_CAPTION同用)
186 DS_NOIDLEMSG - 无空闲消息
187 DS_SETFOREGROUND - 使对话框在最前面显示
188 DS_3DLOOK - 四周有3维边框
189 DS_FIXEDSYS - 使用系统固定字体
190 DS_NOFAILCREATE - 忽略创建过程中的错误
191 DS_CONTROL - 控件模式,可作为其他对话框的子窗口
192 DS_CENTER - 在屏幕居中
193 DS_CENTERMOUSE - 在鼠标位置居中
194 DS_CONTEXTHELP - 有上下文帮助按钮
195
196
197
198 /*已知代号的样式列表
199 GWL_EXSTYLE, "-20"
200 GWL_STYLE, "-16"
201 GWL_WNDPROC, "-4"
202 WS_EX_ACCEPTFILES, "16" 可接受文件拖放
203 WS_EX_APPWINDOW, "262144" 当窗口可见时将一个顶层窗口放置在任务栏上
204 WS_EX_CLIENTEDGE, "512" 带阴影的边缘
205 WS_EX_CONTEXTHELP, "1024" 有上下文帮助样式,标题栏包含一个问号标志
206 WS_EX_CONTROLPARENT, "65536" 允许用户使用TAB键在窗口的子窗口间搜索
207 WS_EX_DLGMODALFRAME, "1" 带双层边框
208 WS_EX_LEFT, "0" 左对齐
209 WS_EX_LEFTSCROLLBAR, "16384" 垂直滚动条在窗口左边界
210 WS_EX_LTRREADING, "0"
211 WS_EX_MDICHILD, "64" MDI子窗口样式
212 WS_EX_NOPARENTNOTIFY, "4" 创建/销毁时不通知父窗口
213 WS_EX_OVERLAPPEDWINDOW, "768" 带凸起边缘的边框,边缘有阴影
214 WS_EX_PALETTEWINDOW, "392" 带立体边框,有工具条窗口样式,窗口在顶层
215 WS_EX_RIGHT, "4096" 右对齐
216 WS_EX_RIGHTSCROLLBAR, "0" 垂直滚动条在窗口右边界
217 WS_EX_RTLREADING, "8192" 窗口文本从右到左显示
218 WS_EX_STATICEDGE, "131072" 当窗口为不可用状态时创建一个三维边缘
219 WS_EX_TOOLWINDOW, "128" 工具条窗口样式
220 WS_EX_TOPMOST, "8" 窗口置顶(停留在所有非最高层窗口的上面)
221 WS_EX_TRANSPARENT, "32" 透明样式,在同属窗口已重画时该窗口才可重画
222 WS_EX_WINDOWEDGE, "256" 带凸起边缘的边框
223 ICON_BIG, "1"
224 ICON_SMALL, "0"
225 WM_SETICON, "128"
226 WS_EX_LAYERED "524288" 分层或透明窗口,该样式可使用混合特效
Windows常见窗口样式和控件风格