GDI样式(或MFC控件的一些属性样式)

来源:互联网 发布:linux vi 翻页到最后 编辑:程序博客网 时间:2024/06/03 02:04
摘自:http://ahkcn.sourceforge.jp/docs/misc/Styles.htm
用于 Gui 和 GuiControl 命令的可用样式
目录
  • 用于 Gui/所属窗口和大多数控件类型的通用样式
  • Text | Edit | UpDown |Picture
  • Button | Checkbox | Radio | GroupBox
  • DropDownList | ComboBox
  • ListBox |ListView |TreeView
  • DateTime |MonthCal
  • Slider |Progress |Tab | StatusBar

?

通用样式值说明GUI 窗口默认样式?WS_POPUP, WS_CAPTION, WS_SYSMENU, WS_MINIMIZEBOXGUI 窗口强制样式?WS_CLIPSIBLINGSWS_BORDER0x800000+/-Border. 创建含有薄边框的窗口.WS_POPUP0x80000000创建一个弹出窗口.此样式不能和 WS_CHILD 样式一起使用.WS_CAPTION0xC00000+/-Caption. 创建含有标题栏的窗口. 此样式是 WS_BORDER 和 WS_DLGFRAME 的数值组合.WS_DISABLED0x8000000+/-Disabled. 创建一个初始禁用的窗口.WS_DLGFRAME0x400000创建一个含有常用于对话框的边框样式的窗口.WS_GROUP0x20000+/-Group. 表明此控件是一组控件的首个. 此样式自动用于管理 "一次只能选一个" 的单选按钮的行为. 在极少见的情况下, 连续添加两组单选按钮 (它们之间没有其他控件类型), 此时可以手动应用此样式到第二个单选按钮组的首个控件中, 此样式可以使此控件脱离第一个单选按钮组.WS_HSCROLL0x100000创建含有水平滚动条的窗口.WS_MAXIMIZE0x1000000创建初始为最大化的窗口.WS_MAXIMIZEBOX0x10000+/-MaximizeBox. 创建含有最大化按钮的窗口. 不能和 WS_EX_CONTEXTHELP 样式联合使用. 必须同时指定 WS_SYSMENU 样式.WS_MINIMIZE0x20000000创建一个初始为最小化的窗口.WS_MINIMIZEBOX0x20000+/-MinimizeBox. 创建含最小化按钮的窗口. 不能和 WS_EX_CONTEXTHELP 样式组合使用.必须同时指定 WS_SYSMENU 样式.WS_OVERLAPPED0创建一个重叠的窗口. 重叠的窗口含有标题栏和边框. 与 WS_TILED 样式效果相同.WS_OVERLAPPEDWINDOW0xCF0000创建一个拥有 WS_OVERLAPPED, WS_CAPTION, WS_SYSMENU, WS_THICKFRAME, WS_MINIMIZEBOX, 和 WS_MAXIMIZEBOX 样式的重叠窗口. 与 WS_TILEDWINDOW 样式效果相同.WS_POPUPWINDOW0x80880000创建一个拥有 WS_BORDER, WS_POPUP, 和 WS_SYSMENU 样式的弹出窗口. WS_CAPTION 和 WS_POPUPWINDOW 样式必须组合使用让窗口菜单可见.WS_SIZEBOX0x40000+/-Resize. 创建一个含有可调整大小边框的窗口. 与 WS_THICKFRAME 样式效果相同.WS_SYSMENU0x80000+/-SysMenu. 创建一个在标题栏有窗口菜单的窗口. 必须同时指定 WS_CAPTION 样式.WS_TABSTOP0x10000+/-Tabstop. 指明一个控件在用户按下 TAB 键时可以接收键盘焦点. 按 TAB 键可以把键盘焦点切换到下一个拥有 WS_TABSTOP 样式的控件.WS_THICKFRAME0x40000创建一个含有可调整大小边框的窗口.与 WS_SIZEBOX 样式效果相同WS_VSCROLL0x200000创建含有垂直滚动条的窗口.WS_VISIBLE0x10000000创建初始可见的窗口.WS_CHILD0x40000000创建子窗口. 拥有此样式的窗口不含有菜单栏. 此样式不能和 WS_POPUP 样式一起使用.

?

Text 样式值说明默认?无强制?无SS_BLACKFRAME0x7指定一个带有使用窗体框架颜色描绘的框架的方形框.在默认颜色方案中此颜色为黑色.SS_BLACKRECT0x4指定一个使用当前窗体框架颜色填充的矩形. 在默认颜色方案中此颜色为黑色.SS_CENTER0x1+/-Center. 指定一个简单的矩形并在其中居中显示错误值文本. 控件自动换行, 一行末尾多出的文本显示到下一个居中行的开始.SS_ETCHEDFRAME0x12使用 EDGE_ETCHED 边缘样式描绘静态控件边框.SS_ETCHEDHORZ0x10使用 EDGE_ETCHED 样式描绘静态控件的顶部和底部边缘.SS_ETCHEDVERT0x11使用 EDGE_ETCHED 样式描绘静态控件的左右边缘.SS_GRAYFRAME0x8指定一个带有使用屏幕背景 (桌面) 颜色描绘的框架的方形框.在默认颜色方案中此颜色为灰色.SS_GRAYRECT0x5指定一个使用当前屏幕背景颜色填充的矩形. 在默认颜色方案中此颜色为灰色.SS_LEFT0+/-Left. 这是默认的. 指定一个简单的矩形并在其中左对齐显示文本. 显示前会格式化文本. 一行末尾超出的单词自动显示到下一个左对齐行的开始. 超出控件宽度的单词被截去.SS_LEFTNOWORDWRAP0xC+/-Wrap. 指定一个矩形并在其中左对齐显示文本. 制表符是展开的,但文本不换行. 超出一行的文本被截去.SS_NOPREFIX0x80防止控件文本中任何的与符号 (&) 作为用于强调的前缀字符解释. 此样式用于当包含与符号 (&) 的文件名或其他字符串需要显示在文本控件中时SS_NOTIFY0x100当用户点击控件时给所属窗口发送 STN_CLICKED 通告.SS_RIGHT0x2+/-Right. 指定一个矩形并在其中右对齐显示指定的文本.SS_SUNKEN0x1000在静态控件周围绘制一个半凹陷边框.SS_WHITEFRAME0x9指定一个带有用窗体背景颜色描绘的框架的方形框. 在默认颜色方案中此颜色为白色.SS_WHITERECT0x6指定一个用当前窗体背景颜色填充的矩形. 在默认颜色方案中此颜色为白色.

?

Edit 样式值说明默认?

WS_TABSTOP 和 WS_EX_CLIENTEDGE (扩展样式 E0x200)

如果一个 Edit 由于初始内容包含多行, 高度大于 1 行, 或明确指定行数大于 1 而自动检测为多行控件时, 默认将自动应用下列样式: WS_VSCROLL, ES_WANTRETURN, 和 ES_AUTOVSCROLL

如果一个 Edit 自动检测为单行, 它默认含有 ES_AUTOHSCROLL 样式.

强制?无ES_AUTOHSCROLL0x80对于多行编辑控件为 +/-Wrap, 而对于单行编辑控件为 +/-Limit. 当用户在一行的末尾输入一个字符时会自动把文本往右滚动 10 个字符. 当用户按下 ENTER 时, 控件把所有文本滚动回到零位置.ES_AUTOVSCROLL0x40当用户在最后一行按下 ENTER 时文本向上滚动一页.ES_CENTER0x1+/-Center. 在多行编辑控件中居中显示文本.ES_LOWERCASE0x10+/-Lowercase. 把在编辑控件中输入的所有字符转换成小写.ES_NOHIDESEL0x100取消编辑控件的默认行为. 当控件失去输入焦点时默认会不反色显示选区而获得输入焦点时会反色显示选区内容. 如果指定 ES_NOHIDESEL, 即使焦点不在控件上选区内容也反色显示.ES_NUMBER0x2000+/-Number. 禁止用户输入数字外的其他内容到控件中.ES_OEMCONVERT0x400此样式对于包含文件名的编辑控件最有用.ES_MULTILINE0x4+/-Multi. 指定多行编辑控件. 默认为单行编辑控件.ES_PASSWORD0x20+/-Password. 在编辑控件中输入的每个字符的位置显示一个屏蔽字符来隐藏文本.ES_READONLY0x800+/-ReadOnly. 禁止用户输入或编辑控件中的文本.ES_RIGHT0x2+/-Right. 在多行编辑控件中右对齐显示文本.ES_UPPERCASE0x8+/-Uppercase. 把在编辑控件中输入的所有字符转换成大写.ES_WANTRETURN0x1000+/-WantReturn. 在对话框的多行编辑控件中输入文本时用户按下回车键则插入回车符. 如果不指定此样式, 按下回车键相当于按下对话框的默认按钮. 此样式对于单行编辑控件没有效果.

?

UpDown 样式值说明默认?UDS_ARROWKEYS, UDS_ALIGNRIGHT, UDS_SETBUDDYINT, and UDS_AUTOBUDDY.强制?无UDS_WRAP0x1命名选项 "Wrap". 当用户试图超出最小值或最大值时使得控件返回到其范围的另一端.如果没有 Wrap, 当达到最小值或最大值时控件会停止.UDS_SETBUDDYINT0x2当位置变化时让 UpDown 控件设置其伙伴控件的文本 (使用 WM_SETTEXT 消息). 但是, 如果其伙伴控件为 ListBox, 则改变 ListBox 的当前选区.UDS_ALIGNRIGHT0x4命名选项 "Right" (默认). 定位 UpDown 在其伙伴控件的右边.UDS_ALIGNLEFT0x8命名选项 "Left". 定位 UpDown 在其伙伴控件的左边.UDS_AUTOBUDDY0x10自动选择z顺序中前面的控件作为 UpDown 控件的伙伴控件.UDS_ARROWKEYS0x20允许用户按下键盘上的 Up 或 Down 方向键来增加或减少 UpDown 控件的位置.UDS_HORZ0x40命名选项 "Horz". 使得控件的箭头指向左右而不是上下.UDS_NOTHOUSANDS0x80在伙伴控件中每三个十进制位之间不插入千位分隔符.UDS_HOTTRACK0x100让控件表现出 "热跟踪" 行为. 即鼠标从控件按钮上通过时高亮控件的按钮. 此样式需要 Microsoft Windows 98 或 Windows 2000. 如果运行的系统为 Windows 95 NT4, 此标志被忽略. 在 Windows XP 系统中当桌面主题覆盖此样式时它也被忽略.(hex)?

在伙伴控件中的数字格式可以从十进制转换为十六进制, 请参照此例:

Gui +LastFound
SendMessage, 1133, 16, 0, msctls_updown321 ; 1133 is UDM_SETBASE

然而, 此样式只影响伙伴控件, 不影响 UpDown 报告的位置.

?

Picture 样式值说明默认?无强制?SS_ICON 适用于图标和光标.
SS_BITMAP 适用于其他图像类型.SS_REALSIZECONTROL0x40[Windows XP 或更高版本系统] 调整位图以适应控件的大小.SS_CENTERIMAGE0x200让位图在控件中居中显示. 如果位图过大, 它将被裁剪. 对于文本控件如果控件包含单行文本, 则会在控件的可用高度内垂直居中显示文本

Microsoft Windows XP: 此样式位不再使用位图或图标左上角像素的颜色填充控件的未使用部分. 控件的未使用部分将保持为背景颜色.

?

Button,Checkbox,Radio, 和GroupBox 样式值说明默认?

BS_MULTILINE (除了 GroupBox 和既没有明确设置高度或宽度也没有在它们的文本中使用任何 CR/LF 字符的按钮, 复选框以及单选按钮)

WS_TABSTOP (除了 GroupBox) -- 但是, 每个单选按钮组中除首个外的其他单选按钮默认不含 WS_TABSTOP 样式. 此外, 含有 BS_NOTIFY 样式的单选按钮才可以检测双击.

强制?Button: BS_PUSHBUTTON 或 BS_DEFPUSHBUTTON
Radio: BS_AUTORADIOBUTTON
Checkbox: BS_AUTOCHECKBOX 或 BS_AUTO3STATE
GroupBox: BS_GROUPBOXBS_LEFT0x100+/-Left. 左对齐文本.BS_PUSHLIKE0x1000使复选框或单选按钮外观和行为像按钮一样. 这样按钮当没有按下或复选时是凸起的, 当按下或复选时是凹陷的.BS_RIGHT0x200+/-Right. 右对齐文本.BS_RIGHTBUTTON0x20+Right (即 +Right 同时包含了 BS_RIGHT 和 BS_RIGHTBUTTON, 但 -Right 仅移除 BS_RIGHT, 而不包括 BS_RIGHTBUTTON). 定位复选框的方形或单选按钮的圆在控件可用宽度的右边而不是左边.BS_BOTTOM0x800定位文本到控件可用高度的底部.BS_CENTER0x300+/-Center. 在控件的可用宽度内水平居中显示文本.BS_DEFPUSHBUTTON0x1+/-Default. 创建带浓黑边框的按钮. 如果按钮在对话框中, 用户可以按下回车键选择按钮, 即使输入焦点不在按钮上. 此样式用于为用户启用快速选择最常用的选项.BS_MULTILINE0x2000+/-Wrap. 如果文本过长无法容纳在控件可用宽度的单行时, 覆盖文本到多行. 此样式同时允许换行符 (`n) 开始文本的新行.BS_TOP0x400定位文本到控件可用高度的顶部.BS_VCENTER0xC00在控件的可用高度中垂直居中显示文本.BS_FLAT0x8000指定按钮为二维的; 它不使用默认的阴影来创建 3D 效果.

?

DropDownList 和ComboBox 样式值说明默认?WS_TABSTOP (+/-Tabstop)
DropDownList: WS_VSCROLL
ComboBox: WS_VSCROLL, CBS_AUTOHSCROLL强制?DropDownList: CBS_DROPDOWNLIST
ComboBox: CBS_DROPDOWN 或 CBS_SIMPLECBS_AUTOHSCROLL0x40+/-Limit. 当用户在行末输入一个字符时自动滚动编辑控件中的文本到右边. 如果此样式未设置, 仅启用适合矩形边界内的文本.CBS_DISABLENOSCROLL0x800当列表框中不包含需要滚动的足够项目时显示被禁用的垂直滚动条. 如果不含有此样式, 当列表框中不包含足够的项目时隐藏滚动条.CBS_LOWERCASE0x4000+/-Lowercase. 把输入到组合框编辑控件中的所有大写字符转换成小写.CBS_NOINTEGRALHEIGHT0x400指定组合框将准确符合在应用程序创建它时指定的大小. 通常 Windows CE 会调整组合框的大小使得它不会只显示部分项目.CBS_OEMCONVERT0x80把输入到组合框编辑控件中的文本从 Windows CE 字符集转到 OEM 字符集, 然后转回 Windows CE 字符集. 此样式对于包含文件名称的组合框最有用. 它仅适用于创建时含有 CBS_DROPDOWN 样式的组合框.CBS_SIMPLE0x1+/-Simple (仅 ComboBox). 总是显示列表框. 在编辑控件中显示列表框中的当前选择对象.CBS_SORT0x100+/-Sort. 按字母顺序排列下拉列表中的项目.CBS_UPPERCASE0x2000+/-Uppercase. 把输入到组合框编辑控件中的所有小写字符转换成大写.

?

ListBox 样式值说明默认?WS_TABSTOP, LBS_USETABSTOPS, WS_VSCROLL, 和 WS_EX_CLIENTEDGE (扩展样式 E0x200).强制?LBS_NOTIFY (支持双击的检测)LBS_DISABLENOSCROLL0x1000当列表框中不包含足够项目时显示被禁用的垂直滚动条.如果不指定此样式, 当列表框不包含足够项目时隐藏滚动条.LBS_NOINTEGRALHEIGHT0x100指定列表框将准确符合在应用程序创建它时指定的大小.LBS_EXTENDEDSEL0x800+/-Multi. 允许通过 control-click 和 shift-click 选择多项.LBS_MULTIPLESEL0x8选择多项的一种简化方式, 此时不需要使用 control-click 和 shift-click 因为正常的左键单击可以增加选择对象或取消选择之前选择的项目.LBS_NOSEL0x4000+/-ReadOnly. 指定用户可以查看列表框字符串但不能选择.LBS_SORT0x2+/-Sort. 按字母顺序排列列表框中的项目.LBS_USETABSTOPS0x80当描绘其字符串时启用列表框识别并展开制表符. 默认制表符位置为 32 个对话框单位. 一个对话框单位等于当前对话框基础宽度单位的四分之一.

?

ListView 样式值说明默认?WS_TABSTOP, LVS_REPORT, LVS_SHOWSELALWAYS, LVS_EX_FULLROWSELECT, LVS_EX_HEADERDRAGDROP, WS_EX_CLIENTEDGE (E0x200)强制?无LVS_ALIGNLEFT0x800在图标和小图标视图中左对齐项目.LVS_ALIGNTOP0在图标和小图标视图中把项目和列表视图控件的顶部对齐. 这是默认的.LVS_AUTOARRANGE0x100在图标和小图标视图中图标自动保持排列的.LVS_EDITLABELS0x200+/-ReadOnly. 指定 -ReadOnly (或 +0x200) 允许用户编辑每行首个字段.LVS_ICON0+Icon. 指定大图标视图.LVS_LIST0x3+List. 指定列表视图.LVS_NOCOLUMNHEADER0x4000+/-Hdr. 使报告视图中不显示列标题.LVS_NOLABELWRAP0x80在图标视图中让项目文本显示在单行. 默认情况下, 在图标视图中项目文本可能换行.LVS_NOSCROLL0x2000禁用滚动. 所有项目必须在客户区. 此样式不兼容于 LVS_LIST 或 LVS_REPORT 样式.LVS_NOSORTHEADER0x8000+/-NoSortHdr. 列标题不像按钮一样工作. 如果希望在报告视图中点击列标题时不执行一个动作例如排序, 可以使用此样式.LVS_OWNERDATA0x1000此样式指定虚拟列表视图控件 (AutoHotkey 不直接支持).LVS_OWNERDRAWFIXED0x400所有者窗口可以在报告视图中描绘项目来响应 WM_DRAWITEM 消息 (AutoHotkey 不直接支持).LVS_REPORT0x1+Report. 指定报告视图.LVS_SHAREIMAGELISTS0x40当销毁控件时 图像列表 将不会被删除. 此样式启用了在多个列表控件中使用相同的图像列表.LVS_SHOWSELALWAYS0x8选择对象, 如果有的话, 总是显示, 即使键盘焦点不在控件上.LVS_SINGLESEL0x4+/-Multi. 在同一时刻只能有一个项目是选择的. 默认情况下可以选择多项.LVS_SMALLICON0x2+IconSmall. 指定小图标视图.LVS_SORTASCENDING0x10+/-Sort. 根据首个字段的内容对行按升序排列.LVS_SORTDESCENDING0x20+/-SortDesc. 和上面一样, 除了按降序排列.LVS_EX_BORDERSELECTLV0x8000当选择一个项目时, 改变项目边框的颜色而不是高亮显示项目 (在最近的操作系统中可能不起作用).LVS_EX_CHECKBOXESLV0x4

+/-Checked. 每个项目显示一个复选框. 当设置此样式, 控件使用 DrawFrameControl 创建和设置含有两种图像的状态图像列表. 状态图像 1 为未选中的方框, 而状态 2 为选中的方框. 设置状态图像为零会完全移除复选框.

Windows XP 或更高版本: 除了在 Windows XP 中引入的 tile 视图外的其他列表控件视图模式复选框是可见并具有功能的. 在 tile 视图模式中点击复选框仅选择项目; 而状态不会改变.

LVS_EX_FLATSBLV0x100启用列表视图中的平坦滚动条.LVS_EX_FULLROWSELECTLV0x20当选择一行时, 其所有字段都高亮显示. 此样式只有和 LVS_REPORT 样式组合使用才有效.LVS_EX_GRIDLINESLV0x1+/-Grid. 在行和列周围显示网格线. 此样式只有和 LVS_REPORT 样式组合使用才有效.LVS_EX_HEADERDRAGDROPLV0x10在列表视图控件中启用拖放来对列重新排序. 此样式只有在含有 LVS_REPORT 样式的列表视图控件中才有效.LVS_EX_INFOTIPLV0x400当列表视图控件使用 LVS_EX_INFOTIP 样式时, 在显示一个项目的 ToolTip 前会发送 LVN_GETINFOTIP 通告消息到所属窗口.LVS_EX_LABELTIPLV0x4000在任何列表视图模式中如果一个部分隐藏的标签没有 ToolTip 文本, 则列表视图控件将展开此标签. 如果此样式未设置, 列表视图控件只有在大图标模式中才展开部分隐藏的标签. 需要 Windows XP 或更高版本, 或随 Internet Explorer 5.0 或更高版本一起发布的 DLL 文件. 注: 在某些版本的 Window 系统中, 如果 GUI 窗口设置为总是置顶此样式可能无法正常工作.LVS_EX_MULTIWORKAREASLV0x2000如果列表视图控件含有 LVS_AUTOARRANGE 样式, 只有在定义了一个或多个工作区域后控件才会自动排列其图标 (参见 LVM_SETWORKAREAS). 只有在定义任何工作区域前并且在添加任何项目到控件前设置此样式才有效.LVS_EX_ONECLICKACTIVATELV0x40当用户双击一个项目时列表视图控件会发送一个 LVN_ITEMACTIVATE 通告消息到所属窗口. 此样式还在列表视图中启用热跟踪. 热跟踪是指当鼠标移至一个项目时, 高亮显示此项目但未选择.LVS_EX_REGIONALLV0x200设置列表视图窗体区域仅包含使用 SetWindowRgn 的项目图标和文本. 任何非一个项目部分的区域被排除出窗体区域. 此样式只有在含有 LVS_ICON 样式的列表视图控件中才有效.LVS_EX_SIMPLESELECTLV0x100000在图标视图中, 移动控件的状态图像到大图标效果图的右上角. 在图标视图外的其他视图中没有什么变化. 当用户使用空格键改变状态时, 循环通过所有选定的项目, 而不是含有焦点的项目. 需要 Windows XP 或更高版本的系统.LVS_EX_SUBITEMIMAGESLV0x2允许图像显示在首个以后的其他字段. 此样式只有和 LVS_REPORT 样式组合使用才有效.LVS_EX_TRACKSELECTLV0x8在列表视图控件中启用热跟踪选择对象. 热跟踪选择对象是指当鼠标悬停在某个项目上一段时间时自动选择此项目. 使用 LVM_SETHOVERTIME 消息可以改变系统默认设置的此延迟时间. 此样式适用于列表视图控件的所有视图模式. 通过调用 SystemParametersInfo 可以检查热跟踪选择对象是否启用.LVS_EX_TWOCLICKACTIVATELV0x80当用户双击一个项目时列表视图控件发送一个 LVN_ITEMACTIVATE 通告消息到所属窗口. 此样式还在列表视图中启用热跟踪.热跟踪是指当鼠标移至一个项目时, 高亮显示此项目但未选择.LVS_EX_UNDERLINECOLDLV0x1000使得那些可以被激活的非热项目带有下划线文本显示. 此样式要求同时设置 LVS_EX_TWOCLICKACTIVATE 样式.LVS_EX_UNDERLINEHOTLV0x800使得那些可以被激活的热项目带有下划线文本显示. 此样式要求同时设置 LVS_EX_ONECLICKACTIVATE 或 LVS_EX_TWOCLICKACTIVATE 样式.

?

TreeView 样式值说明默认?WS_TABSTOP, TVS_SHOWSELALWAYS, TVS_HASLINES, TVS_LINESATROOT, TVS_HASBUTTONS, WS_EX_CLIENTEDGE (E0x200)强制?无TVS_CHECKBOXES0x100+/-Checked.每个项目旁边显示一个复选框.TVS_DISABLEDRAGDROP0x10禁止树形视图控件发送 TVN_BEGINDRAG 通告消息.TVS_EDITLABELS0x8+/-ReadOnly. 允许用户编辑树形视图项目的名称.TVS_FULLROWSELECT0x1000启用树形视图控件中的全行选择功能. 高亮被选择项目的整行, 并且点击一个项目所在行的任何地方都会选择此项目. 此样式不能和 TVS_HASLINES 样式组合使用.TVS_HASBUTTONS0x1+/-Buttons. 在父项目的旁边显示加号 (+) 和 减号 (-) 按钮. 用户点击按钮来展开或折叠父项的子项列表.要在树形视图的根项目中包含按钮, 必须同时指定 TVS_LINESATROOT 样式.TVS_HASLINES0x2+/-Lines. 使用线显示项目的层次结构.TVS_INFOTIP0x800通过发送 TVN_GETINFOTIP 通告获得 ToolTip 信息.TVS_LINESATROOT0x4+/-Lines.使用线连接树形视图控件的根项目. 如果未指定 TVS_HASLINES 则此样式被忽略.TVS_NOHSCROLL0x8000+/-HScroll. 禁用控件中的水平滚动. 控件中将不显示水平滚动条.TVS_NONEVENHEIGHT0x4000设置项目的高度为一个带有 TVM_SETITEMHEIGHT 消息的奇数的高度. 默认情况下, 项目的高度必须是偶数值.TVS_NOSCROLL0x2000同时禁用控件中的水平滚动和垂直滚动. 控件将不显示任何滚动条.TVS_NOTOOLTIPS0x80禁用 ToolTip.TVS_RTLREADING0x40使得文本从右到左 (RTL) 显示. 通常情况下, 窗体按从左到右 (LTR) 的顺序显示文本.TVS_SHOWSELALWAYS0x20使得所选项目保持选择的当树形视图控件失去焦点时.TVS_SINGLEEXPAND0x400在树形控件中选择后展开所选项目并折叠取消选择的项目. 当选择一个项目时如果用户按住 CTRL 键, 被取消选择的项目将不会折叠.TVS_TRACKSELECT0x200在树形视图控件中启用鼠标的热跟踪.

?

DateTime 样式值说明默认?DTS_SHORTDATECENTURYFORMAT 和 WS_TABSTOP (+/-Tabstop)强制?无DTS_UPDOWN0x1在控件的右边提供一个增减控件来修改日期和时间的值, 这会取代其他地方可用的下拉月历的修改.DTS_SHOWNONE0x2在控件中显示复选框, 取消复选此复选框可以让控件不选择日期/时间. 当控件中不含日期/时间时, Gui Submit 和 GuiControlGet 命令将获取到一个空值 (空字符串).DTS_SHORTDATEFORMAT0x0显示短格式的日期. 在某些区域设置中, 它看起来像 6/1/05 或 6/1/2005. 在较旧版本的操作系统中, 年份可能显示为两位数. 这是为什么 DTS_SHORTDATECENTURYFORMAT 为默认样式而不是 DTS_SHORTDATEFORMAT.DTS_LONGDATEFORMAT0x4Format option"LongDate". 用长格式显示日期.在某些区域设置中, 它看起来像 Wednesday, June 01, 2005.DTS_SHORTDATECENTURYFORMAT0xC格式选项 为空/省略. 用短格式显示带有四位年份的日期. 在某些区域设置中, 它看起来像 6/1/2005. 如果系统的 Comctl32.dll 版本低于 5.8, 不支持此样式并自动使用 DTS_SHORTDATEFORMAT 代替.DTS_TIMEFORMAT0x9格式选项 "Time". 仅显示时间, 这在某些区域设置中看起来像 5:31:42 PM.DTS_APPCANPARSE0x10还不支持.允许拥有者分析用户的输入并采取必要的行动. 它启用了当用户按下 F2 时对控件的客户区进行编辑. 当用户完成编辑控件会发送 DTN_USERSTRING 通告消息.DTS_RIGHTALIGN0x20+/-Right. 日历将在控件的右边而不是左边拉下.(下拉日历内的颜色设置)?下拉日历中天数的颜色服从 Gui Font 命令或 c (Color) 选项的设置. 要改变日历其他部分的颜色, 请参照此例:
Gui +LastFound
SendMessage, 0x1006, 4, 0xFFAA99, SysDateTimePick321; 0x1006 is DTM_SETMCCOLOR. 4 is MCSC_MONTHBK (background color). 颜色必须使用 BGR 与 RGB 格式指定 (交换了红色和蓝色通道).

?

MonthCal 样式值说明默认?无强制?无MCS_DAYSTATE0x1让控件发送 MCN_GETDAYSTATE 通告来请求哪些日子应以粗体显示的信息. [还不支持]MCS_MULTISELECT0x2命名选项 "Multi". 允许用户选择一个日期范围而不限制于单个日期. 默认情况下, 最大的范围为 366 天, 此设置可以通过给控件发送 MCM_SETMAXSELCOUNT 消息改变. 例如:
Gui +LastFound
SendMessage, 0x1004, 7, 0, SysMonthCal321; 7 days. 0x1004 is MCM_SETMAXSELCOUNT.MCS_WEEKNUMBERS0x4在每行日子的左边显示周数 (1-52). Week 1 被定义为至少包含四天的第一周.MCS_NOTODAYCIRCLE0x8禁止控件中的当前日期往复循环.MCS_NOTODAY0x10禁止在控件的底部显示今天的日期.(颜色)?日历中的天数颜色服从 Gui Font 命令或c (Color) 选项的设置. 要改变日历其他部分的颜色, 请参照此例:
Gui +LastFound
SendMessage, 0x100A, 5, 0xFFAA99, SysMonthCal321; 0x100A is MCM_SETCOLOR. 5 is MCSC_TITLETEXT (color of title text). 颜色必须使用 BGR 与 RGB 格式指定 (交换了红色和蓝色通道).

?

Slider 样式值说明默认?WS_TABSTOP (+/-Tabstop)强制?无TBS_VERT0x2+/-Vertical. 控件是垂直导向的.TBS_LEFT / TBS_TOP0x4+/-Left. 控件在其顶端显示刻度线 (如果含有 TBS_VERT 样式则在其左边).TBS_BOTH0x8+/-Center. 控件在其两边显示刻度线. 与 TBS_HORZ 一起使用时为顶端和底端而与 TBS_VERT 一起使用时为左右两边.TBS_AUTOTICKS0x1控件在其值范围中的每个增量显示一个刻度线. 使用 +/-TickInterval 可以更灵活.TBS_ENABLESELRANGE0x20

控件仅显示一个选择范围. 在选择范围起始位置和结束位置的刻度线显示为三角形 (而不是垂直的短划线), 并且选择范围是高亮的 (高亮可能需要通过 "Gui -theme" 移除主题).

要设置选择范围, 参照此例, 此处设置起始位置为 55 而结束位置为 66:

SendMessage, 1035, 1, 55, msctls_trackbar321, WinTitle
SendMessage, 1036, 1, 66, msctls_trackbar321, WinTitle

TBS_FIXEDLENGTH0x40+/-Thick. 允许改变滑块的大小.TBS_NOTHUMB0x80控件不显示可移动的滑块.TBS_NOTICKS0x10+/-NoTicks. 控件不显示任何刻度线.TBS_TOOLTIPS0x100+/-Tooltip. 控件支持 ToolTip. 当使用此样式创建控件时, 它自动创建一个默认的 ToolTip 控件用以显示滑动条的当前位置. 使用 TBM_SETTIPSIDE 消息可以改变 ToolTip 显示的位置. Windows 95 和 NT4 需要 Internet Explorer 3.0 或更高版本才能支持此样式.TBS_REVERSED0x200不幸的是, 此样式对控件的实际行为没有效果, 所以使用它是没有意义的 (作为替代, 在控件的选项中使用 +Invert 来反转它). 根据操作系统版本, 此样式可能需要 Internet Explorer 5.0 或更高版本.TBS_DOWNISLEFT0x400不幸的是, 此样式对控件的实际行为没有效果, 所以使用它是没有意义的. 根据操作系统版本, 此样式可能需要 Internet Explorer 5.01 或更高版本.

?

Progress 样式值说明默认?PBS_SMOOTH强制?无PBS_SMOOTH0x1+/-Smooth. 进度条使用平滑滚动条而不是默认分段的条显示进度状态. 含有此样式时, 在 Windows XP 或更高版本系统中控件自动恢复到经典主题外观. Windows 95 和 NT4 需要 Internet Explorer 3.0 或更高版本才能支持此选项.PBS_VERTICAL0x4+/-Vertical.进度条显示垂直的进度状态, 从底部到顶部. Windows 95 和 NT4 需要 Internet Explorer 3.0 或更高版本才能支持此选项.PBS_MARQUEE0x8

[需要 Windows XP 或更高版本] 进度条的移动是这样的; 其位置的每次变化使得条沿着其可用长度向前滑动直到碰到另一端. 含有此样式的条没有明确的位置. 相反, 每次试图改变位置进度条将移动一格.

此样式常用于指示一个正在进行的操作, 其完成时间是未知的.

?

Tab 样式值说明默认?WS_TABSTOP 和 TCS_MULTILINE强制?WS_CLIPSIBLINGS
TCS_OWNERDRAWFIXED: 根据控件的背景颜色和/或文本颜色的需要强制打开或关闭.TCS_SCROLLOPPOSITE0x1当选择一个标签页时不需要标签页滚动到控件的另一边.TCS_BOTTOM0x2+/-Bottom. 标签页显示在控件的底部而不是顶部.TCS_RIGHT0x2标签页垂直显示在使用 TCS_VERTICAL 样式控件的右边.TCS_MULTISELECT0x4按住 CTRL 时进行点击可以选择多个标签页. 此样式必须和 TCS_BUTTONS 样式一起使用.TCS_FLATBUTTONS0x8选择的标签页显示为缩进到背景中而其他标签页和背景显示在相同平面上. 仅在标签控件含有 TCS_BUTTONS 样式时此样式才有效.TCS_FORCEICONLEFT0x10图标和每个固定宽度的左边缘对齐. 此样式只能和 TCS_FIXEDWIDTH 样式一起使用.TCS_FORCELABELLEFT0x20标签和每个固定宽度的标签页左边缘对齐; 即标签紧跟着显示在图标的右边而不是显示在中间.

此样式只能和 TCS_FIXEDWIDTH 样式一起使用, 同时它暗含了 TCS_FORCEICONLEFT 样式.

TCS_HOTTRACK0x40在指针下的项目自动高亮显示TCS_VERTICAL0x80

+/-Left 或 +/-Right. 标签页显示在控件的左边, 并标签页文本垂直显示. 此样式仅在和 TCS_MULTILINE 样式一起使用才有效. 要让标签页显示在控件的右边, 同时使用 TCS_RIGHT 样式.

如果自定义背景颜色或文本颜色有效时, 此样式将无法正确显示标签页. 为了解决此问题, 请在标签控件选项中指定 -Background 和/或 cDefault.

TCS_BUTTONS0x100+/-Buttons.标签页显示为按钮, 并且在显示区域周围不描绘边框.TCS_SINGLELINE0+/-Wrap. 仅显示一行标签. 必要时用户可以滚动查看到更多的标签页. 此样式是默认的.TCS_MULTILINE0x200+/-Wrap. 必要时显示多行标签页, 这样所有的标签页可以同时看见.TCS_RIGHTJUSTIFY0这是默认的.必要时可以增加每个标签页的宽度, 这样每行的标签页会填充标签控件的整个宽度.

只有在同时指定 TCS_MULTILINE 样式时此样式才不会被忽略.

TCS_FIXEDWIDTH0x400所有标签页使用相同的宽度. 此样式不能和 TCS_RIGHTJUSTIFY 样式一起组合使用.TCS_RAGGEDRIGHT0x800将不会拉伸标签页所在的行来填充控件的整个宽度. 此样式是默认的.TCS_FOCUSONBUTTONDOWN0x1000点击时标签控件接收输入焦点.TCS_OWNERDRAWFIXED0x2000所属窗口负责描绘标签页.TCS_TOOLTIPS0x4000标签控件有与其关联的工具提示控件.TCS_FOCUSNEVER0x8000点击时标签控件不接收输入焦点.

?

StatusBar 样式值说明默认?SBARS_TOOLTIPS 和 SBARS_SIZEGRIP (如果窗口大小可调整则仅后者).强制?无SBARS_TOOLTIPS0x800

当鼠标悬停在状态栏的部分上时显示工具提示: 1) 文本过多以致无法完全显示; 或 2) 含有图标但没有文本.

ToolTip 的文本可以用下面的方法设置:

Gui +LastFoundSendMessage, 0x410, 0, "Text to display", msctls_statusbar321

上面的粗体 0 是从零开始的状态栏部分的编号. 要使用首个外的其他部分, 对第二个指定 1, 对第三个指定 2, 等. 注: 在某些操作版本的系统中 ToolTip 可能永远不会显示.

SBARS_SIZEGRIP0x100在状态栏的右端包含一个大小调整手柄. 大小调整手柄类似于大小调整边框; 它是一个矩形区域, 用户可以点击并拖动它来调整所属窗口的大小.