GDI样式(或MFC控件的一些属性样式)
来源:互联网 发布:linux vi 翻页到最后 编辑:程序博客网 时间:2024/06/03 02:04
用于 Gui 和 GuiControl 命令的可用样式
目录
- 用于 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)
如果一个 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. 在对话框的多行编辑控件中输入文本时用户按下回车键则插入回车符. 如果不指定此样式, 按下回车键相当于按下对话框的默认按钮. 此样式对于单行编辑控件没有效果.?
在伙伴控件中的数字格式可以从十进制转换为十六进制, 请参照此例:
Gui +LastFound
SendMessage, 1133, 16, 0, msctls_updown321 ; 1133 is 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. 创建带浓黑边框的按钮. 如果按钮在对话框中, 用户可以按下回车键选择按钮, 即使输入焦点不在按钮上. 此样式用于为用户启用快速选择最常用的选项.BS_MULTILINE0x2000+/-Wrap. 如果文本过长无法容纳在控件可用宽度的单行时, 覆盖文本到多行. 此样式同时允许换行符 (`n) 开始文本的新行.BS_TOP0x400定位文本到控件可用高度的顶部.BS_VCENTER0xC00在控件的可用高度中垂直居中显示文本.BS_FLAT0x8000指定按钮为二维的; 它不使用默认的阴影来创建 3D 效果.
?
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 中引入的 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 样式.?
?
Gui +LastFound
SendMessage, 0x1006, 4, 0xFFAA99, SysDateTimePick321; 0x1006 is DTM_SETMCCOLOR. 4 is MCSC_MONTHBK (background color). 颜色必须使用 BGR 与 RGB 格式指定 (交换了红色和蓝色通道).
?
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 格式指定 (交换了红色和蓝色通道).
?
控件仅显示一个选择范围. 在选择范围起始位置和结束位置的刻度线显示为三角形 (而不是垂直的短划线), 并且选择范围是高亮的 (高亮可能需要通过 "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) 含有图标但没有文本.
ToolTip 的文本可以用下面的方法设置:
Gui +LastFoundSendMessage, 0x410, 0, "Text to display", msctls_statusbar321
上面的粗体 0 是从零开始的状态栏部分的编号. 要使用首个外的其他部分, 对第二个指定 1, 对第三个指定 2, 等. 注: 在某些操作版本的系统中 ToolTip 可能永远不会显示.
SBARS_SIZEGRIP0x100在状态栏的右端包含一个大小调整手柄. 大小调整手柄类似于大小调整边框; 它是一个矩形区域, 用户可以点击并拖动它来调整所属窗口的大小.- GDI样式(或MFC控件的一些属性样式)
- 使用CLASS属性或CSSCLASS属性来定义文本或控件显示的样式表
- DatePicker的一些样式属性设置
- 自定义Dailog的样式中的一些属性
- div的一些样式属性--第四天
- MFC 窗体的样式
- 让MFC的 WebBrowser 控件 使用IE8或以上的内核(默认是IE7) 并且使用IE按钮样式
- Js 获取行间样式属性值 和 css 内嵌样式或样式表中属性值的方法
- 设置和取得HTML标签的样式或属性值
- CSS的样式属性
- wpf中动态更改控件或元素的样式
- JS添加或修改控件的样式(Class)
- MFC控件List Control的样式LVS_与扩展样式LVS_EX_
- Menu控件的样式
- 页面的一些样式
- 一些常用的样式
- 一些小的样式
- struts的一些样式
- 约瑟夫环解法(1)
- Linux 系统进程的五种状态
- lua_call的使用
- HDU--4027(Can you answer these queries?)
- 生物信息学常用软件—2(PCR引物设计及相关软件使用)
- GDI样式(或MFC控件的一些属性样式)
- 安装vmware tools
- JobTracker节点后台线程之RetireJobs
- Win7 禁用IPv6
- 翻转字符串程序
- Struts2的基本流程的详细介绍
- Ios 开发 工具, 资源, 图标, 模板
- Hibernate学习笔记
- UIKeyboardTypeNumberPad和丢失的return键