Cbutton 按钮类型和样式

MFC使用的样式

下表列出了按钮类型。您可以选择以下选项之一。如果没有指定按钮类型,默认值为 BS_PUSHBUTTON

类型描述
BS_3STATE

创建一个具有三个状态的复选框按钮:BST_CHECKEDBST_INDETERMINATE,和BST_UNCHECKED。点击按钮会向BN_CLICKED所有者窗口发送通知,
但不会更改按钮的状态。默认情况下,相关文本显示在复选框的右侧。要在复选框的左侧显示文本,请使用BS_LEFTTEXTBS_RIGHTBUTTON样式。

BS_AUTO3STATE

创建一个具有三个状态的复选框按钮:BST_CHECKEDBST_INDETERMINATE,和BST_UNCHECKED。点击按钮会向BN_CLICKED用户窗口发送通知,
并更改按钮的状态。该按钮状态循环的顺序BST_CHECKEDBST_INDETERMINATEBST_UNCHECKED。默认情况下,相关文本显示在复选框的右侧。
要在复选框的左侧显示文本,请使用BS_LEFTTEXTBS_RIGHTBUTTON样式。

BS_AUTOCHECKBOX

创建一个带有两种状态的复选框按钮:BST_CHECKEDBST_UNCHECKED。点击按钮会向BN_CLICKED用户窗口发送通知,并更改按钮的状态。
默认情况下,相关文本显示在复选框的右侧。要在复选框的左侧显示文本,请使用BS_LEFTTEXTBS_RIGHTBUTTON样式。

BS_AUTORADIOBUTTON

创建一个包含两个状态的单选按钮:BST_CHECKEDBST_UNCHECKED。单选按钮通常分组使用,每组最多只能有一个选中的选项。
单击按钮向BN_CLICKED所有者窗口发送通知,将点击的单选按钮BST_CHECKED的状态设置为,并将按钮组中所有其他单选按钮的状态设置为BST_UNCHECKED
默认情况下,相关文本显示在单选按钮的右侧。要在单选按钮左侧显示文本,请使用BS_LEFTTEXTBS_RIGHTBUTTON样式。

BS_CHECKBOX

创建一个带有两种状态的复选框按钮:BST_CHECKEDBST_UNCHECKED。点击按钮会向BN_CLICKED所有者窗口发送通知,但不会更改按钮的状态。
默认情况下,相关文本显示在复选框的右侧。要在复选框的左侧显示文本,请使用BS_LEFTTEXTBS_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_CHECKEDBST_UNCHECKED。单选按钮通常分组使用,每组最多只能有一个选中的选项。
点击按钮会向BN_CLICKED用户窗口发送通知,但不会自动更改组中任何按钮的状态。默认情况下,相关文本显示在单选按钮的右侧。
要在单选按钮左侧显示文本,请使用BS_LEFTTEXTBS_RIGHTBUTTON样式。

BS_SPLITBUTTON

创建分割按钮。拆分按钮是特定于Windows Vista的命令按钮,其中包含与下拉箭头相邻的按钮。当您单击该按钮时,将执行默认命令。
当您单击下拉箭头时,将显示其他命令的菜单。

   

下表列出了特定于单选按钮和复选框的样式。所有其他按钮类型都会忽略这些样式。您可以选择一个或多个以下选项。

样式描述
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_DBLCLKBN_KILLFOCUSBN_SETFOCUS通知消息到它的父窗口。请注意,按钮发送BN_CLICKED通知,无论是否指定了此样式。
原文地址:https://www.cnblogs.com/yunqie/p/6606004.html