按钮样式

本主题描述按钮类型和样式。

按钮类型

下表列出了按钮类型。 可以选择是否之一。 如果不指定按钮类型,默认值为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

过时,,但,假定用于 windows 16 位版本的兼容性。 基于 Win32 的应用程序应使用 BS_OWNERDRAW 。

单选按钮和复选框样式

下表列出了特定于单选按钮和复选框的样式。 这些样式在其他按钮类型被忽略。 可以选择是否以下一个或多个。

样式

说明

BS_LEFTTEXT

在将与单选按钮或复选框样式,该文本将单选按钮或复选框的左侧显示。

BS_RIGHTBUTTON

在将与单选按钮或复选框样式,该文本将单选按钮或复选框的左侧显示。 此样式。 BS_LEFTTEXT 样式相同。

BS_PUSHLIKE

使复选框或单选按钮外观和行为与命令按钮。 此按钮显示按,在其状态为 BST_CHECKED时,按并灰显,其状态为 BST_INDETERMINATE时和释放,其状态为 BST_UNCHECKED时。

文本对齐样式

下表列出了水平和垂直文本对齐选项。 可以选择是否之一。

样式

说明

BS_LEFT

左对齐在按钮矩形的文本。 但是,因此,如果按钮是没有 BS_RIGHTBUTTON 样式的复选框或单选按钮,该文本将复选框或单选按钮右边是左对齐。

BS_RIGHT

右侧对齐在按钮矩形的文本。 但是,因此,如果按钮是没有 BS_RIGHTBUTTON 样式的复选框或单选按钮,该文本将复选框或单选按钮右边是右对齐的。

BS_CENTER

中心水平显示在按钮矩形文本。

BS_TOP

使文本在按钮矩形的顶部。

BS_BOTTOM

使文本在按钮矩形的底部。

BS_VCENTER

中心垂直在按钮矩形文本。

按钮内容选项

下表列出了指定的选项以及在按钮显示。 按仅显示文本忽略这些样式的类型。 可以选择是否之一。

样式

说明

BS_BITMAP

指定按钮显示位图。

BS_ICON

指定按钮显示图标。

BS_TEXT

指定按钮显示文本。

其他选项

下表列出了可用于任何按钮类型的其他选项。 可以选择是否以下一个或多个。

样式

说明

BS_FLAT

指定按钮的二维和不绘制带有默认阴影生成一个三维图形。

BS_MULTILINE

,如果文本字符串名称太长而无法容纳在该按钮,矩形的行换行按钮文本设置为多行。

BS_NOTIFY

使按钮发送 BN_DBLCLK、 BN_KILLFOCUS和 BN_SETFOCUS 通知消息到其父窗口。 注意该按钮发送 BN_CLICKED 通知无论该样式是否指定。

请参见

参考

CButton::Create

按样式

BN_CLICKED Notification

其他资源

MFC使用的样式