创建相应的 MFC 对象时,使用以下样式标志来指定窗口或控件的外观和行为。 在大多数情况下,这些样式是在类
Create
函数的
dwStyle
参数中设置的。
按钮样式适用于
CButton Class
对象,例如单选按钮、复选框和按钮。 在
CButton::Create
的
dwStyle
参数中指定样式组合。 有关 Windows 中按钮样式的详细信息,请参阅
按钮样式 (Windows)
。
下表列出了按钮类型。 可以选择以下选项之一。 如果不指定按钮类型,则默认值为
BS_PUSHBUTTON
。
BS_3STATE
创建具有三种状态的复选框按钮:
BST_CHECKED
、
BST_INDETERMINATE
和
BST_UNCHECKED
。 单击按钮会向所有者窗口发送
BN_CLICKED
通知,但不会更改按钮的状态。 默认情况下,关联的文本显示在复选框的右侧。 若要在复选框左侧显示文本,请使用
BS_LEFTTEXT
或
BS_RIGHTBUTTON
样式。
BS_AUTO3STATE
创建具有三种状态的复选框按钮:
BST_CHECKED
、
BST_INDETERMINATE
和
BST_UNCHECKED
。 单击按钮会向所有者窗口发送
BN_CLICKED
通知并更改按钮的状态。 按钮状态按照
BST_CHECKED
、
BST_INDETERMINATE
和
BST_UNCHECKED
顺序循环。 默认情况下,关联的文本显示在复选框的右侧。 若要在复选框左侧显示文本,请使用
BS_LEFTTEXT
或
BS_RIGHTBUTTON
样式。
BS_AUTOCHECKBOX
创建具有两种状态的复选框按钮:
BST_CHECKED
和
BST_UNCHECKED
。 单击按钮会向所有者窗口发送
BN_CLICKED
通知并更改按钮的状态。 默认情况下,关联的文本显示在复选框的右侧。 若要在复选框左侧显示文本,请使用
BS_LEFTTEXT
或
BS_RIGHTBUTTON
样式。
BS_AUTORADIOBUTTON
创建具有两种状态的单选按钮:
BST_CHECKED
和
BST_UNCHECKED
。 单选按钮通常以组的形式使用,每一组中每次最多有一个选项处于选中状态。 单击按钮会向所有者窗口发送
BN_CLICKED
通知,将单击的单选按钮的状态设置为
BST_CHECKED
,并将按钮组中所有其他单选按钮的状态设置为
BST_UNCHECKED
。 默认情况下,关联的文本显示在单选按钮的右侧。 若要在单选按钮左侧显示文本,请使用
BS_LEFTTEXT
或
BS_RIGHTBUTTON
样式。
BS_CHECKBOX
创建具有两种状态的复选框按钮:
BST_CHECKED
和
BST_UNCHECKED
。 单击按钮会向所有者窗口发送
BN_CLICKED
通知,但不会更改按钮的状态。 默认情况下,关联的文本显示在复选框的右侧。 若要在复选框左侧显示文本,请使用
BS_LEFTTEXT
或
BS_RIGHTBUTTON
样式。
BS_COMMANDLINK
创建命令链接按钮。 命令链接按钮是特定于 Windows Vista 的命令按钮,它在主文本左侧显示一个绿色箭头,在主文本下方显示一条注释。 可以使用
CButton::SetNote
设置注释文本。
BS_DEFCOMMANDLINK
创建命令链接按钮。 命令链接按钮是特定于 Windows Vista 的命令按钮,它在主文本左侧显示一个绿色箭头,在主文本下方显示一条注释。 可以使用
CButton::SetNote
设置注释文本。 如果按钮在对话框中,则即使该按钮没有输入焦点,按 ENTER 键也会向对话框发送
BN_CLICKED
通知。
BS_DEFPUSHBUTTON
创建一个带有黑色边框的命令按钮。 如果按钮在对话框中,则即使该按钮没有输入焦点,按 ENTER 键也会向对话框发送
BN_CLICKED
通知。
BS_DEFSPLITBUTTON
创建拆分按钮。 拆分按钮是特定于 Windows Vista 的命令按钮,其中包含一个与下拉箭头邻接的按钮。 单击该按钮时,会执行默认命令。 单击下拉箭头时,会显示一个包含附加命令的菜单。 如果拆分按钮在对话框中,则即使该按钮没有输入焦点,按 ENTER 键也会向对话框发送
BN_CLICKED
通知
BS_GROUPBOX
创建一个矩形,可在其中将其他按钮分组。 与此样式关联的文本显示在矩形的左上角。
BS_OWNERDRAW
创建所有者绘制的按钮。 当按钮的视觉方面发生更改时,框架会调用
DrawItem
方法。 使用
CBitmapButton
类时必须设置此样式。
BS_PUSHBUTTON
创建一个命令按钮,当用户单击该按钮时向所有者窗口发送
BN_CLICKED
通知。
BS_RADIOBUTTON
创建具有两种状态的单选按钮:
BST_CHECKED
和
BST_UNCHECKED
。 单选按钮通常以组的形式使用,每一组中每次最多有一个选项处于选中状态。 单击按钮会向所有者窗口发送
BN_CLICKED
通知,但不会自动更改组中任何按钮的状态。 默认情况下,关联的文本显示在单选按钮的右侧。 若要在单选按钮左侧显示文本,请使用
BS_LEFTTEXT
或
BS_RIGHTBUTTON
样式。
BS_SPLITBUTTON
创建拆分按钮。 拆分按钮是特定于 Windows Vista 的命令按钮,其中包含一个与下拉箭头邻接的按钮。 单击该按钮时,会执行默认命令。 单击下拉箭头时,会显示一个包含附加命令的菜单。
BS_USERBUTTON
已过时,提供此项是为了与 16 位版本的 Windows 保持兼容。 基于 Win32 的应用程序应改用
BS_OWNERDRAW
。
下表列出了特定于单选按钮和复选框的样式。 这些样式在所有其他按钮类型中将被忽略。 可以选择以下一项或多项。
Style
CBS_OEMCONVERT
在组合框编辑控件中输入的文本将从 ANSI 字符集转换为 OEM 字符集,然后重新转换为 ANSI。 这可确保当应用程序调用
AnsiToOem
Windows 函数将组合框中的 ANSI 字符串转换为 OEM 字符时,能正确进行字符转换。 此样式最适用于包含文件名的组合框,且仅适用于使用
CBS_SIMPLE
或
CBS_DROPDOWN
样式创建的组合框。
CBS_OWNERDRAWFIXED
列表框的所有者负责绘制其内容;列表框中的项的高度全都相同。
CBS_OWNERDRAWVARIABLE
列表框的所有者负责绘制其内容;列表框中的项的高度不同。
CBS_SIMPLE
始终显示列表框。 列表框中的当前选择显示在编辑控件中。
CBS_SORT
对输入到列表框的字符串进行自动排序。
CBS_UPPERCASE
将选择字段和列表中的所有文本转换为大写。
编辑样式适用于
CEdit
类
对象。 在
CEdit::Create
的
dwStyle
参数中指定样式组合。 有关在 Windows 中编辑控件样式的详细信息,请参阅
编辑控件样式 (Windows)
。
Style
ES_MULTILINE
指定多行编辑控件。 (默认设置为单行。)如果指定了
ES_AUTOVSCROLL
样式,则编辑控件会显示尽可能多的行,并在用户按 ENTER 键时垂直滚动。 如果未指定
ES_AUTOVSCROLL
,则编辑控件会显示尽可能多的行;如果在无法显示更多行时按 ENTER,则发出哔声。 如果指定了
ES_AUTOHSCROLL
样式,则当脱字号越过控件的右边缘时,多行编辑控件将自动水平滚动。 若要另起新行,用户必须按 ENTER。 如果未指定
ES_AUTOHSCROLL
,则控件会在必要时自动将单词换行到下一行的开头;如果按 ENTER,也会另起新行。 自动换行的位置由窗口大小决定。 如果窗口大小发生变化,自动换行位置也会发生变化并重新显示文本。 多行编辑控件可以包含滚动条。 包含滚动条的编辑控件处理其自身的滚动条消息。 没有滚动条的编辑控件按如上所述的方式滚动,并处理父窗口发送的任何滚动消息。
ES_NOHIDESEL
通常,编辑控件会在控件失去输入焦点时隐藏选择,并在控件收到输入焦点时反转选择。 指定
ES_NOHIDESEL
会删除此默认操作。
ES_NUMBER
只允许将数字输入到编辑控件中。
ES_OEMCONVERT
在编辑控件中输入的文本将从 ANSI 字符集转换为 OEM 字符集,然后重新转换为 ANSI。 这可确保当应用程序调用
AnsiToOem
Windows 函数将编辑控件中的 ANSI 字符串转换为 OEM 字符时,能正确进行字符转换。 此样式对于包含文件名的编辑控件最有用。
ES_PASSWORD
将键入到编辑控件中的所有字符显示为星号 (
*
)。 应用程序可以使用
SetPasswordChar
成员函数来更改显示的字符。
ES_READONLY
防止用户在编辑控件中输入或编辑文本。
ES_RIGHT
将单行或多行编辑控件中的文本右对齐。
ES_UPPERCASE
在编辑控件中键入字符时,将所有字符转换为大写。
ES_WANTRETURN
指定当用户在对话框的多行编辑控件中输入文本并按 ENTER 键后插入一个回车符。 如果没有此样式,则按 ENTER 键的效果与按下对话框的默认按钮相同。 此样式对单行编辑控件不起作用。
框架窗口样式
框架窗口样式适用于
CFrameWnd
类
对象。 在
CFrameWnd::Create
的
dwStyle
参数中指定样式组合。
Style
FWS_ADDTOTITLE
指定要追加到框架窗口标题末尾的信息。 例如“Microsoft 绘图 - 在 Document1 中绘图”。 可以指定应用程序向导的“文档模板字符串”选项卡中显示的字符串。 如果需要关闭此选项,请重写
CWnd::PreCreateWindow
成员函数。
FWS_PREFIXTITLE
在框架窗口标题中的应用程序名称之前显示文档名称。 例如“文档 - 写字板”。 可以指定应用程序向导的“文档模板字符串”选项卡中显示的字符串。 如果需要关闭此选项,请重写
CWnd::PreCreateWindow
成员函数。
FWS_SNAPTOBARS
控制当控件条位于浮动窗口中而不是停靠在框架窗口中时包围控件条的框架窗口的大小。 此样式会调整窗口大小以适合控件条。
列表框样式
列表框样式适用于
CListBox
类
对象。 在
CListBox::Create
的
dwStyle
参数中指定样式组合。 有关 Windows 中的列表框样式的详细信息,请参阅
列表框样式 (Windows)
。
Style
LBS_NODATA
指定无数据列表框。 当列表框中的项数超出一千时,请指定此样式。 无数据列表框也必须有
LBS_OWNERDRAWFIXED
样式,但不能有
LBS_SORT
或
LBS_HASSTRINGS
样式。
无数据列表框类似于所有者描述的列表框,但它不包含项的字符串或位图数据。 用于添加、插入或删除项的命令始终会忽略任何给定的项数据;在列表框内查找字符串的请求始终会失败。 必须绘制某个项时,系统会向所有者窗口发送
WM_DRAWITEM
消息。 随
WM_DRAWITEM
消息传递的
DRAWITEMSTRUCT
结构的 itemID 成员将指定要绘制的项的行号。 无数据列表框不发送
WM_DELETEITEM
消息。
LBS_NOINTEGRALHEIGHT
列表框的大小正是应用程序创建此列表框时指定的大小。 通常,Windows 会调整列表框的大小,以使列表框不会只显示部分项。
LBS_NOREDRAW
在进行更改时,不会更新列表框显示。 可通过发送
WM_SETREDRAW
消息随时更改此样式。
LBS_NOSEL
指定列表框包含可查看但不无法选择的项。
LBS_NOTIFY
每当用户单击或双击某个字符串时,父窗口都会接收到输入消息。
LBS_OWNERDRAWFIXED
列表框的所有者负责绘制其内容;列表框中的项的高度相同。
LBS_OWNERDRAWVARIABLE
列表框的所有者负责绘制其内容;列表框中的项的高度不同。
LBS_SORT
列表框中的字符串按字母顺序排序。
LBS_STANDARD
列表框中的字符串按字母顺序排序,且每当用户单击或双击某个字符串时,父窗口都会接收到输入消息。 列表框包含各边的边框。
LBS_USETABSTOPS
允许列表框在绘制其字符串时识别并展开制表符。 默认制表符位置是 32 个对话框单位。 (对话框单位是一个水平或垂直的距离。一个水平对话框单位等于当前对话框基本宽度单位的四分之一。对话框基本单位根据当前系统字体的高度和宽度计算。
GetDialogBaseUnits
Windows 函数以像素为单位返回当前对话框基本单位。)此样式不应与
LBS_OWNERDRAWFIXED
一起使用。
LBS_WANTKEYBOARDINPUT
当列表框具有输入焦点时,只要用户按键,列表框的所有者就会接收
WM_VKEYTOITEM
或
WM_CHARTOITEM
消息。 这允许应用程序对键盘输入执行特殊处理。
消息框样式
消息框样式适用于
AfxMessageBox
项。 在
AfxMessageBox
的
nType
参数中指定样式组合。 有关 Windows 中消息框样式的详细信息,请参阅
MessageBox
函数 (Windows)
。
可以使用以下消息框样式。
消息框类型
Style
MB_APPLMODAL
用户必须先响应消息框,然后才能在当前窗口中继续操作。 但是,用户可以转到其他应用程序的窗口并在这些窗口中操作。 如果既未指定
MB_SYSTEMMODAL
,也未指定
MB_TASKMODAL
,那么默认值为
MB_APPLMODAL
。
MB_SYSTEMMODAL
在用户响应消息框之前,所有应用程序都将暂停。 系统模态消息框用于通知用户需要立即注意的严重、具有潜在损害性的错误,应谨慎使用。
MB_TASKMODAL
类似于
MB_APPLMODAL
,但在 Microsoft Foundation 类应用程序中没有作用。 此标志是为没有可用窗口句柄的调用方应用程序或库保留的。
消息框图标
Style
SBS_HORZ
指定水平滚动条。 如果既未指定
SBS_BOTTOMALIGN
样式,也未指定
SBS_TOPALIGN
样式,则该滚动条使用
Create
成员函数中指定的高度、宽度和位置。
SBS_LEFTALIGN
与
SBS_VERT
样式一起使用。 滚动条的左边缘与
Create
成员函数中指定的矩形左边缘对齐。 该滚动条使用系统滚动条的默认宽度。
SBS_RIGHTALIGN
与
SBS_VERT
样式一起使用。 滚动条的右边缘与
Create
成员函数中指定的矩形右边缘对齐。 该滚动条使用系统滚动条的默认宽度。
SBS_SIZEBOX
指定大小框。 如果既未指定
SBS_SIZEBOXBOTTOMRIGHTALIGN
样式,也未指定
SBS_SIZEBOXTOPLEFTALIGN
样式,则大小框使用
Create
成员函数中指定的高度、宽度和位置。
SBS_SIZEBOXBOTTOMRIGHTALIGN
与
SBS_SIZEBOX
样式一起使用。 大小框的右下角与
Create
成员函数中指定的矩形右下角对齐。 该大小框使用系统大小框的默认大小。
SBS_SIZEBOXTOPLEFTALIGN
与
SBS_SIZEBOX
样式一起使用。 大小框的左上角与
Create
成员函数中指定的矩形左上角对齐。 该大小框使用系统大小框的默认大小。
SBS_SIZEGRIP
与
SBS_SIZEBOX
相同,但有一个凸起的边缘。
SBS_TOPALIGN
与
SBS_HORZ
样式一起使用。 滚动条的上边缘与
Create
成员函数中指定的矩形上边缘对齐。 该滚动条使用系统滚动条的默认高度。
SBS_VERT
指定垂直滚动条。 如果既未指定
SBS_RIGHTALIGN
样式,也未指定
SBS_LEFTALIGN
样式,则该滚动条使用
Create
成员函数中指定的高度、宽度和位置。
静态样式适用于
CStatic
类
对象。 在
CStatic::Create
的
dwStyle
参数中指定样式组合。 有关在 Windows 中的静态控件样式的详细信息,请参阅
静态控件样式 (Windows)
。
Style
SS_BITMAP
指定要在静态控件中显示的位图。 给定的文本是资源文件中其他位置定义的位图的名称(不是文件名)。 该样式忽略 nWidth 和 nHeight 参数;控件会自动调整自身大小以适应位图。
SS_BLACKFRAME
指定一个框,为该框绘制的框架的颜色与窗口框架的颜色相同。 默认为黑色。
SS_BLACKRECT
指定一个矩形,其中填充了用于绘制窗口框架的颜色。 默认为黑色。
SS_CENTER
指定一个简单矩形并在矩形的中心显示给定的文本。 在显示文本之前先设置其格式。 超出行尾的字词会自动换行到下一个居中行的开头。
SS_CENTERIMAGE
指定当位图或图标小于静态控件的工作区时,用位图或图标左上角的像素颜色来填充工作区的其余部分。 如果静态控件包含单行文本,则该文本将在控件的工作区中垂直居中。
SS_ENDELLIPSIS
或者,
SS_PATHELLIPSIS
会根据需要将部分给定字符串替换为省略号,使结果能够适合指定的矩形。
可以指定
SS_END_ELLIPSIS
以替换字符串末尾的字符,或指定
SS_PATHELLIPSIS
以替换字符串中间的字符。 如果字符串包含反斜杠 (\) 字符,则
SS_PATHELLIPSIS
会尽可能多地保留最后一个反斜杠后面的文本。
SS_ENHMETAFILE
指定要在静态控件中显示的增强式元文件。 给定的文本是元文件的名称。 增强式元文件静态控件具有固定大小;元文件将会缩放以适应静态控件的工作区。
SS_ETCHEDFRAME
使用
EDGE_ETCHED
边缘样式绘制静态控件的框架。
SS_ETCHEDHORZ
使用
EDGE_ETCHED
边缘样式绘制静态控件的上边缘和下边缘。
SS_ETCHEDVERT
使用
EDGE_ETCHED
边缘样式绘制静态控件的左边缘和右边缘。
SS_GRAYFRAME
指定一个框,为该框绘制的框架的颜色与屏幕背景(桌面)颜色相同。 默认为灰色。
SS_GRAYRECT
指定一个矩形,其中填充了用于填充屏幕背景的颜色。 默认为灰色。
SS_ICON
指定对话框中显示的图标。 给定的文本是资源文件中其他位置定义的图标的名称(不是文件名)。 将忽略
nWidth
和
nHeight
参数;图标会自动调整自身大小。
SS_LEFT
指定一个简单矩形并在矩形中左对齐显示给定的文本。 在显示文本之前先设置其格式。 超出行尾的字词会自动换行到下一个左对齐行的开头。
SS_LEFTNOWORDWRAP
指定一个简单矩形并在矩形中左对齐显示给定的文本。 选项卡已展开,但字词未换行。 超出行尾的文本将被剪裁。
SS_NOPREFIX
除非指定此样式,否则 Windows 会将控件文本中的任何 & 字符解释为加速键前缀字符。 在这种情况下,将删除 & 字符,并为字符串中的下一个字符添加下划线。 如果在不需要此功能的情况下要在静态控件中包含文本,可以添加
SS_NOPREFIX
。 可为任何已定义的静态控件包含此静态控件样式。 可以使用按位 OR 运算符将
SS_NOPREFIX
与其他样式相结合。 需要在对话框的静态控件中显示文件名或其他可包含 & 字符的字符串时,往往会使用这种方法。
SS_NOTIFY
当用户单击或双击控件时发送父窗口
STN_CLICKED
、
STN_DBLCLK
、
STN_DISABLE
和
STN_ENABLE
通知消息。
SS_OWNERDRAW
指定静态控件的所有者负责绘制控件。 每当需要绘制控件时,所有者窗口都会收到
WM_DRAWITEM
消息。
SS_REALSIZEIMAGE
防止静态图标或位图控件(即具有
SS_ICON
或
SS_BITMAP
样式的静态控件)在加载或绘制时调整其大小。 如果图标或位图大于目标区域,则会剪裁图像。
SS_RIGHT
指定一个简单矩形并在矩形中右对齐显示给定的文本。 在显示文本之前先设置其格式。 超出行尾的字词会自动换行到下一个右对齐行的开头。
SS_RIGHTJUST
指定具有
SS_BITMAP
或 SS_ICON 样式的静态控件的右下角在调整控件大小时保持固定。 只会调整上侧和左侧以适应新的位图或图标。
SS_SIMPLE
指定一个简单矩形并在矩形中左对齐显示一行文本。 文本行不能以任何方式缩短或更改。 (控件的父窗口或对话框不得处理
WM_CTLCOLOR
消息。)
SS_SUNKEN
在静态控件周围绘制半凹陷边框。
SS_USERITEM
指定用户定义的项。
SS_WHITEFRAME
指定一个框,为该框绘制的框架的颜色与窗口背景色相同。 默认值为白色。
SS_WHITERECT
指定一个矩形,其中填充了用于填充窗口背景的颜色。 默认值为白色。
SS_WORDELLIPSIS
截掉无法装入的文本并添加省略号。
窗口样式适用于
CWnd
类
对象。 在
CWnd::Create
或
CWnd::CreateEx
的 dwStyle 参数中指定样式组合。 有关 Windows 中的窗口样式的详细信息,请参阅
窗口样式 (Windows)
。
Style
WS_CLIPSIBLINGS
相对于彼此剪裁子窗口;也就是说,当特定子窗口收到绘制消息时,
WS_CLIPSIBLINGS
样式会将所有其他重叠的子窗口剪裁到要更新的子窗口的区域之外。 (如果未指定
WS_CLIPSIBLINGS
并且子窗口重叠,则当你在子窗口的工作区中绘制时,可以在相邻子窗口的工作区中绘制。)只能与
WS_CHILD
样式一起使用。
WS_DISABLED
创建初始禁用的窗口。
WS_DLGFRAME
创建一个带双边框但没有标题的窗口。
WS_GROUP
指定一组控件中的第一个控件,用户可以在其中使用箭头键从一个控件移动到下一个控件。 在第一个控件之后使用
WS_GROUP
样式
FALSE
定义的所有控件属于同一组。 具有
WS_GROUP
样式的下一个控件开始形成下一个组(即,一个组结束,下一个组随之开始)。
WS_HSCROLL
创建一个带水平滚动条的窗口。
WS_ICONIC
创建一个最初已最小化的窗口。 与
WS_MINIMIZE
样式相同。
WS_MAXIMIZE
创建一个最大大小的窗口。
WS_MAXIMIZEBOX
创建一个带有“最大化”按钮的窗口。
WS_MINIMIZE
创建一个最初已最小化的窗口。 只能与
WS_OVERLAPPED
样式一起使用。
WS_MINIMIZEBOX
创建一个带有“最小化”按钮的窗口。
WS_OVERLAPPED
创建一个重叠的窗口。 重叠的窗口通常带有标题栏和边框。
WS_OVERLAPPEDWINDOW
创建具有
WS_OVERLAPPED
、
WS_CAPTION
、
WS_SYSMENU
、
WS_THICKFRAME
、
WS_MINIMIZEBOX
和
WS_MAXIMIZEBOX
样式的重叠窗口。
WS_POPUP
创建一个弹出窗口。 不能与
WS_CHILD
样式一起使用。
WS_POPUPWINDOW
创建一个具有
WS_BORDER
、
WS_POPUP
和
WS_SYSMENU
样式的弹出窗口。
WS_CAPTION
样式必须与
WS_POPUPWINDOW
样式结合使用才能使控件菜单可见。
WS_SIZEBOX
创建一个带有大小调整边框的窗口。 与
WS_THICKFRAME
样式相同。
WS_SYSMENU
创建一个标题栏包含控件菜单框的窗口。 仅用于带标题栏的窗口。
WS_TABSTOP
指定任意数量的控件之一,用户可以使用 TAB 键在其中移动。 TAB 键将用户移动到由
WS_TABSTOP
样式指定的下一个控件。
WS_THICKFRAME
创建一个带有厚框架的窗口,该框架可用于调整窗口大小。
WS_TILED
创建一个重叠的窗口。 重叠的窗口带有标题栏和边框。 与
WS_OVERLAPPED
样式相同。
WS_TILEDWINDOW
创建具有
WS_OVERLAPPED
、
WS_CAPTION
、
WS_SYSMENU
、
WS_THICKFRAME
、
WS_MINIMIZEBOX
和
WS_MAXIMIZEBOX
样式的重叠窗口。 与
WS_OVERLAPPEDWINDOW
样式相同。
WS_VISIBLE
创建初始可见的窗口。
WS_VSCROLL
创建一个带垂直滚动条的窗口。
扩展的窗口样式
扩展的窗口样式适用于
CWnd
类
对象。 在
CWnd::CreateEx
的
dwExStyle
参数中指定样式组合。 有关 Windows 中扩展的窗口样式的详细信息,请参阅
扩展的窗口样式 (Windows)
。
Style
WS_EX_LAYERED
该窗口是一个
分层窗口
。 如果窗口具有
CS_OWNDC
或
CS_CLASSDC
的
类样式
,则不能使用此样式。 但是,Microsoft Windows 8 确实为子窗口支持
WS_EX_LAYERED
样式,以前的 Windows 版本仅为顶级窗口支持该样式。
WS_EX_LEFT
为窗口提供一般的左对齐属性。 这是默认值。
WS_EX_LEFTSCROLLBAR
将垂直滚动条放在客户端区域的左侧。
WS_EX_LTRREADING
使用从左到右读取顺序属性显示窗口文本。 这是默认值。
WS_EX_MDICHILD
创建 MDI 子窗口。
WS_EX_NOPARENTNOTIFY
指定使用此样式创建的子窗口在创建或销毁后不将
WM_PARENTNOTIFY
消息发送到其父窗口。
WS_EX_OVERLAPPEDWINDOW
将
WS_EX_CLIENTEDGE
和
WS_EX_WINDOWEDGE
样式结合使用
WS_EX_PALETTEWINDOW
将
WS_EX_WINDOWEDGE
和
WS_EX_TOPMOST
样式结合使用。
WS_EX_RIGHT
为窗口提供一般的右对齐属性。 这依赖于窗口类。
WS_EX_RIGHTSCROLLBAR
将垂直滚动条(如果有)放在客户端区域的右侧。 这是默认值。
WS_EX_RTLREADING
使用从右到左读取顺序属性显示窗口文本。
WS_EX_STATICEDGE
使用应该用于不接受用户输入的项的三维边框样式创建窗口。
WS_EX_TOOLWINDOW
创建一个工具窗口,该窗口应该用作浮动工具栏。 工具窗口具有短于普通标题栏的标题栏和使用较小的字体绘制的窗口标题。 工具窗口不会显示在任务栏中,也不会显示在用户按 Alt+Tab 时出现的窗口中。
WS_EX_TOPMOST
指定使用此样式创建的窗口应该放在所有非最上层窗口之上,即使该窗口停用后也是如此。 应用程序可使用
SetWindowPos
成员函数添加或删除此特性。
WS_EX_TRANSPARENT
指定使用此样式创建的窗口是透明的。 也就是说,该窗口下的任何窗口都不能被窗口遮盖。 使用此样式创建的窗口仅在以下情况下才接收
WM_PAINT
消息:该窗口下面的所有同级窗口都已更新。
WS_EX_WINDOWEDGE
指定窗口具有带凸起边缘的边框。
MFC 类概述
CWnd::Create
CWnd::CreateEx
CEdit::Create
CScrollBar::Create
CStatic::Create
AfxMessageBox
CreateWindow
CreateWindowEx
按钮样式 (Windows)
组合框样式 (Windows)
编辑控件样式 (Windows)
列表框样式 (Windows)
MessageBox
函数 (Windows)
滚动条控件样式 (Windows)
静态控件样式 (Windows)
Window 样式 (Windows)
扩展的窗口样式 (Windows)