Win32窗口风格
来源:互联网 发布:午夜tv的软件 编辑:程序博客网 时间:2024/06/06 16:32
目录
- 用于 Gui/父窗口和大多数控件类型的通用样式
- Text | Edit | UpDown | Picture
- Button | Checkbox | Radio | GroupBox
- DropDownList | ComboBox
- ListBox | ListView | TreeView
- DateTime | MonthCal
- Slider | Progress | Tab | StatusBar
WS_TABSTOP 和 WS_EX_CLIENTEDGE (扩展样式 E0x200)
如果一个编辑控件由于初始内容包含多行, 高度大于 1 行或明确指定大于 1 的行数而自动检测为多行控件时, 默认将自动应用下列样式: WS_VSCROLL, ES_WANTRETURN 和 ES_AUTOVSCROLL
如果一个编辑控件被自动检测为单行, 那么它默认含有 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. 在对话框的多行编辑控件中输入文本时, 指定当用户按下 ENTER 键时则插入回车符. 如果不指定此样式, 那么按下 ENTER 键相当于点击了对话框的默认按钮. 此样式对于单行编辑控件没有效果.
把伙伴控件中显示的数字格式从十进制改变为十六进制, 请参照此例:
Gui +LastFound
SendMessage, 1133, 16, 0, msctls_updown321 ; 1133 为 UDM_SETBASE
然而, 这种方法只影响伙伴控件, 而不影响 UpDown 报告的位置.
对于其他图像类型为 SS_BITMAP.SS_REALSIZECONTROL0x40[Windows XP 或更高版本] 调整位图以适应控件的大小.SS_CENTERIMAGE0x200让位图在控件中居中显示. 如果位图太大, 则会对其进行裁剪. 对于文本控件, 如果控件包含单行文本, 那么会在控件的可用高度内垂直居中显示文本.
Microsoft Windows XP: 此样式不再使用位图或图标左上角像素的颜色来填充控件的未使用部分. 控件的未使用部分会保持背景颜色.
BS_MULTILINE (不包括 GroupBox 和既没有明确设置高度或宽度也没有在它们的文本中使用任何的 CR/LF 字符的按钮, 复选框以及单选按钮)
WS_TABSTOP (不包括 GroupBox), 但是, 每个单选按钮组中除首个外的其他单选按钮默认不含有 WS_TABSTOP. 此外, 含有 BS_NOTIFY 的单选按钮才可以检测到双击.
强制 Button: BS_PUSHBUTTON 或 BS_DEFPUSHBUTTONRadio: 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. 创建带浓黑边框的按钮. 如果按钮在对话框中, 即使输入焦点不在按钮上时, 用户可以按下 ENTER 键选择按钮. 此样式用于启用对最常用选项的快速选择.BS_MULTILINE0x2000+/-Wrap. 如果文本过长而无法容纳在控件可用宽度的单行中时, 则对文本进行换行操作而变成多行. 此样式还允许使用换行符 (`n) 在文本中开始新行.BS_TOP0x400把文本放到控件可用高度的顶部.BS_VCENTER0xC00在控件的可用高度内垂直居中显示文本.BS_FLAT0x8000指定按钮为二维的; 它不使用默认的底纹来创建三维效果.
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. 把输入到组合框编辑控件中的所有小写字符转换成大写.
+/-Checked. 为每个项目显示一个复选框. 设置此样式后, 控件会使用 DrawFrameControl 创建和设置含两个图像的状态图像列表. 状态图像 1 为未选中的方框, 而状态图像 2 为选中的方框. 设置状态图像为零会移除复选框.
Windows XP 或更高版本: 在除了 Windows XP 中引入的平铺视图模式外的所有列表视图模式中, 复选框是可见并具有功能的. 在平铺视图模式中点击复选框仅选择项目; 状态不会发生变化.
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 样式时, 在显示项目的工具提示前会发送 LVN_GETINFOTIP 通知消息到父窗口.LVS_EX_LABELTIPLV0x4000在任何列表视图模式中如果部分隐藏的标签没有工具提示文本, 那么列表视图控件会展开此标签. 如果未设置此样式, 那么列表视图控件只会在大图标模式中才展开部分隐藏的标签. 需要 Windows XP 或更高版本, 或随 Internet Explorer 5.0 或更高版本一起发布的 DLL. 注: 在某些版本的 Windows 中, 如果设置 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 样式.
Gui +LastFound
SendMessage, 0x1006, 4, 0xFFAA99, SysDateTimePick321 ; 0x1006 为 DTM_SETMCCOLOR. 4 为 MCSC_MONTHBK (背景颜色). 颜色必须使用 BGR 与 RGB 格式 (交换了红色和蓝色成分).
Gui +LastFound
SendMessage, 0x1004, 7, 0, SysMonthCal321 ; 7 天. 0x1004 为 MCM_SETMAXSELCOUNT.MCS_WEEKNUMBERS0x4在每行日子的左边显示周数 (1-52). Week 1 被定义为至少包含四天的第一周.MCS_NOTODAYCIRCLE0x8禁止控件中当前日期的往复循环.MCS_NOTODAY0x10禁止在控件的底部显示今天的日期.(颜色) 日历中天数的颜色遵循 Gui Font 命令或 c (Color) 选项的设置. 要改变日历其他部分的颜色, 请参照此例:
Gui +LastFound
SendMessage, 0x100A, 5, 0xFFAA99, SysMonthCal321 ; 0x100A 为 MCM_SETCOLOR. 5 为 MCSC_TITLETEXT (标题文本的颜色). 颜色必须使用 BGR 与 RGB 格式 (交换了红色和蓝色成分).
让控件仅显示选择范围. 在选择范围起始位置和结束位置的刻度线显示为三角形 (而不是垂直的短划线), 且高亮选择范围 (可能需要使用 "Gui -theme" 移除主题才能高亮).
要设置选择范围, 请参照此例, 这里设置起始位置为 55 而结束位置为 66:
SendMessage, 1035, 1, 55, msctls_trackbar321, WinTitle
SendMessage, 1036, 1, 66, msctls_trackbar321, WinTitle
[需要 Windows XP 或更高版本] 进度条会像大盖帽一样移动; 即每次移动时条会沿着其可用长度向前滑动直到碰到另一端. 含有此样式的条没有明确的位置. 相反, 每次试图改变位置时进度条将移动一格.
此样式常用来指示一个正在进行的完成时间未知的操作.
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点击时选项卡控件不获取输入焦点.
当鼠标悬停在状态栏部分上时显示工具提示: 1) 文本过多以致无法完全显示; 或 2) 含有图标但没有文本.
工具提示的文本可以使用下面的方法设置:
Gui +LastFoundSendMessage, 0x410, 0, "Text to display", msctls_statusbar321
上面的粗体 0 是从零开始的状态栏部分的编号. 要使用首个外的其他部分, 对第二个指定 1, 对第三个指定 2, 等等. 注意: 在某些操作系统版本中可能永远不会显示工具提示.
SBARS_SIZEGRIP0x100在状态栏的右端包含一个大小调整手柄. 大小调整手柄类似于大小调整边框; 它是一个矩形区域, 用户可以点击并拖动它来调整父窗口的大小.- Win32窗口风格
- win32程序窗口风格说明
- WIN32窗口类风格和窗口风格(备查询)
- 窗口风格
- 窗口风格
- 窗口风格
- 窗口风格
- 窗口风格
- Win32 窗口
- 窗口风格/ 窗口类风格
- Win32 窗体风格说明
- win32消息风格总结
- 窗口风格 与 窗口类风格
- 获取指定窗口窗口风格
- win32 设置列表框风格
- 修改主窗口风格
- 窗口使用XP风格
- 修改主窗口风格
- Oracle 创建dblink 报错:ORA-01017、ORA-02063
- BroadcastReceiver广播 笔记
- c#,数据库中保存二维数组的问题
- Android View绘制过程
- android 杂七杂八
- Win32窗口风格
- 第二章Djangos视图和URL配置
- DrawImage()
- 变量、作用域和内存问题
- 真实的生活写照
- android自动化测试之生成单元测试报告
- 简单的扩展虚拟机磁盘文件大小实例
- POJ 2406 Power Strings
- 为什么我总是这么冲动?