按钮(Windows 控件)
本部分包含有关与按钮控件一起使用的编程元素的信息。 按钮是用户可以单击用于向应用程序提供输入的控件。
概述
主题 | 目录 |
---|---|
按钮消息 | 本主题讨论与按钮一起使用的消息。 |
Button 状态 | 本部分讨论如何选择按钮更改其状态以及应用程序应如何响应。 |
按钮类型 | 本主题讨论不同类型的按钮。 |
使用按钮 | 本部分介绍如何执行与按钮相关的特定任务。 |
函数
主题 | 目录 |
---|---|
CheckDlgButton | 更改按钮控件的复选状态。 |
CheckRadioButton | 向组中的指定单选按钮添加复选标记(选中),并从组中的所有其他单选按钮中删除复选标记(清除)。 |
IsDlgButtonChecked | IsDlgButtonChecked 函数确定是选中按钮控件,还是三态按钮控件处于选中、未选中或不确定状态。 |
宏
主题 | 目录 |
---|---|
Button_Enable | 启用或禁用某个按钮。 |
Button_GetCheck | 获取单选按钮或复选框的选中状态。 可以使用此宏或显式发送 BM_GETCHECK 消息。 |
Button_GetIdealSize | 获取最适合文本和图像的按钮的大小(如果存在图像列表)。 可以使用此宏,或显式发送 BCM_GETIDEALSIZE 消息。 |
Button_GetImageList | 获取描述为按钮控件设置的图像列表的 BUTTON_IMAGELIST 结构。 可以使用此宏,或显式发送 BCM_GETIMAGELIST 消息。 |
Button_GetNote | 获取与命令链接按钮关联的注释的文本。 可以使用此宏,或显式发送 BCM_GETNOTE 消息。 |
Button_GetNoteLength | 获取可在命令链接的说明中显示的注释文本的长度。 使用此宏,或显式发送 BCM_GETNOTELENGTH 消息。 |
Button_GetSplitInfo | 获取指定拆分按钮控件的信息。 使用此宏,或显式发送 BCM_GETSPLITINFO 消息。 |
Button_GetState | 获取单选按钮或复选框的选中状态。 可以使用此宏或显式发送 BM_GETSTATE 消息。 |
Button_GetText | 获取按钮的文本。 |
Button_GetTextLength | 获取按钮文本中的字符数。 |
Button_GetTextMargin | 获取用于在按钮控件中绘制文本的边距。 可以使用此宏,或显式发送 BCM_GETTEXTMARGIN 消息。 |
Button_SetCheck | 设置单选按钮或复选框的选中状态。 可以使用此宏或显式发送 BM_SETCHECK 消息。 |
Button_SetDropDownState | 设置具有 BS_SPLITBUTTON 样式的指定按钮的下拉状态。 使用此宏,或显式发送 BCM_SETDROPDOWNSTATE 消息。 |
Button_SetElevationRequiredState | 设置指定按钮或命令链接的提升所需状态以显示提升的图标。 使用此宏,或显式发送 BCM_SETSHIELD 消息。 |
Button_SetImageList | 将图像列表分配给按钮控件。 可以使用此宏,或显式发送 BCM_SETIMAGELIST 消息。 |
Button_SetNote | 设置与指定的命令链接按钮关联的注释的文本。 可以使用此宏,或显式发送 BCM_SETNOTE 消息。 |
Button_SetSplitInfo | 设置指定拆分按钮控件的信息。 使用此宏,或显式发送 BCM_SETSPLITINFO 消息。 |
Button_SetState | 设置按钮的突出显示状态。 突出显示状态指示按钮是否突出显示,就像用户已按下按钮一样。 可以使用此宏或显式发送 BM_SETSTATE 消息。 |
Button_SetStyle | 设置按钮的样式。 可以使用此宏或显式发送 BM_SETSTYLE 消息。 |
Button_SetText | 设置按钮的文本。 |
Button_SetTextMargin | 设置按钮控件中绘制文本的边距。 可以使用此宏,或显式发送 BCM_SETTEXTMARGIN 消息。 |
消息
主题 | 目录 |
---|---|
BCM_GETIDEALSIZE | 获取最适合文本和图像的按钮的大小(如果存在图像列表)。 可以显式发送此消息,也可以使用 Button_GetIdealSize 宏发送。 |
BCM_GETIMAGELIST | 获取描述分配给按钮控件的图像列表的 BUTTON_IMAGELIST 结构。 可以显式发送此消息,也可以使用 Button_GetImageList 宏发送。 |
BCM_GETNOTE | 获取与命令链接按钮关联的注释的文本。 可以显式发送此消息,也可以使用 Button_GetNote 宏发送。 |
BCM_GETNOTELENGTH | 获取可在命令链接按钮的说明中显示的注释文本的长度。 显式发送此消息,也可以使用 Button_GetNoteLength 宏发送。 |
BCM_GETSPLITINFO | 获取拆分按钮控件的信息。 显式发送此消息,也可以使用 Button_GetSplitInfo 宏发送。 |
BCM_GETTEXTMARGIN | 获取用于在按钮控件中绘制文本的边距。 可以显式发送此消息,也可以使用 Button_GetTextMargin 宏发送。 |
BCM_SETDROPDOWNSTATE | 使用 TBSTYLE_DROPDOWN 样式设置按钮的下拉状态。 显式发送此消息,也可以使用 Button_SetDropDownState 宏发送。 |
BCM_SETIMAGELIST | 将图像列表分配给按钮控件。 可以显式发送此消息,也可以使用 Button_SetImageList 宏发送。 |
BCM_SETNOTE | 设置与命令链接按钮关联的注释的文本。 可以显式发送此消息,也可以使用 Button_SetNote 宏发送。 |
BCM_SETSHIELD | 设置指定按钮或命令链接的提升所需状态以显示提升的图标。 显式发送此消息,也可以使用 Button_SetElevationRequiredState 宏发送。 |
BCM_SETSPLITINFO | 设置拆分按钮控件的信息。 显式发送此消息,也可以使用 Button_SetSplitInfo 宏发送。 |
BCM_SETTEXTMARGIN | BCM_SETTEXTMARGIN 消息设置按钮控件中绘制文本的边距。 |
BM_CLICK | 模拟用户单击按钮。 此消息导致该按钮接收 WM_LBUTTONDOWN 和 WM_LBUTTONUP 消息,该按钮的父窗口接收 BN_CLICKED 通知代码。 |
BM_GETCHECK | 获取单选按钮或复选框的选中状态。 可以显式发送此消息,也可以使用 Button_GetCheck 宏发送。 |
BM_GETIMAGE | 检索与按钮关联的图像(图标或位图)的句柄。 |
BM_GETSTATE | 检索按钮或复选框的状态。 可以显式发送此消息,也可以使用 Button_GetState 宏发送。 |
BM_SETCHECK | 设置单选按钮或复选框的选中状态。 可以显式发送此消息,也可以使用 Button_SetCheck 宏发送。 |
BM_SETDONTCLICK | 在单选按钮上设置一个标志,用于在按钮接收焦点时控制 BN_CLICKED 消息生成。 |
BM_SETIMAGE | 将新图像(图标或位图)与按钮相关联。 |
BM_SETSTATE | 设置按钮的突出显示状态。 突出显示状态指示按钮是否突出显示,就像用户已按下按钮一样。 可以显式发送此消息,也可以使用 Button_SetState 宏发送。 |
BM_SETSTYLE | 设置按钮的样式。 可以显式发送此消息,也可以使用 Button_SetStyle 宏发送。 |
通知
主题 | 目录 |
---|---|
BCN_DROPDOWN | 当用户单击按钮上的下拉箭头时发送。 控件的父窗口以 WM_NOTIFY 消息的形式接收此通知代码。 |
BCN_HOTITEMCHANGE | 通知按钮控件所有者鼠标正在进入或离开按钮控件的工作区。 该按钮控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
BN_CLICKED | 当用户单击按钮时发送。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_CLICKED 通知代码。 |
BN_DBLCLK | 当用户双击按钮时发送。 此通知代码会自动为 BS_USERBUTTON、BS_RADIOBUTTON 和 BS_OWNERDRAW 按钮发送。 仅当其他按钮类型具有 BS_NOTIFY 样式时,才会发送 BN_DBLCLK。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_DBLCLK 通知代码。 |
BN_DISABLE | 禁用按钮时发送。 注意:此通知代码仅在与低于版本 3.0 的 16 位版本的 Windows 兼容时提供。 应用程序应为此任务使用 BS_OWNERDRAW 按钮样式和 DRAWITEMSTRUCT 结构。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_DISABLE 通知代码。 |
BN_DOUBLECLICKED | 当用户双击按钮时发送。 此通知代码会自动为 BS_USERBUTTON、BS_RADIOBUTTON 和 BS_OWNERDRAW 按钮发送。 仅当其他按钮类型具有 BS_NOTIFY 样式时,才会发送 BN_DOUBLECLICKED。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_DOUBLECLICKED 通知代码。 |
BN_HILITE | 当用户选择按钮时发送。 注意:此通知代码仅在与低于版本 3.0 的 16 位版本的 Windows 兼容时提供。 应用程序应为此任务使用 BS_OWNERDRAW 按钮样式和 DRAWITEMSTRUCT 结构。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_HILITE 通知代码。 |
BN_KILLFOCUS | 当按钮失去键盘焦点时发送。 该按钮必须具有 BS_NOTIFY 样式才能发送此通知代码。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_KILLFOCUS 通知代码。 |
BN_PAINT | 在应该绘制按钮时发送。 注意:此通知代码仅在与低于版本 3.0 的 16 位版本的 Windows 兼容时提供。 应用程序应为此任务使用 BS_OWNERDRAW 按钮样式和 DRAWITEMSTRUCT 结构。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_PAINT 通知代码。 |
BN_PUSHED | 当按钮的推送状态设置为已推送时发送。 注意:此通知代码仅在与低于版本 3.0 的 16 位版本的 Windows 兼容时提供。 应用程序应为此任务使用 BS_OWNERDRAW 按钮样式和 DRAWITEMSTRUCT 结构。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_PUSHED 通知代码。 |
BN_SETFOCUS | 当按钮接收键盘焦点时发送。 该按钮必须具有 BS_NOTIFY 样式才能发送此通知代码。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_SETFOCUS 通知代码。 |
BN_UNHILITE | 当应从按钮中移除突出显示时发送。 注意:此通知代码仅在与低于版本 3.0 的 16 位版本的 Windows 兼容时提供。 应用程序应为此任务使用 BS_OWNERDRAW 按钮样式和 DRAWITEMSTRUCT 结构。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_UNHILITE 通知代码。 |
BN_UNPUSHED | 当按钮的推送状态设置为取消推送时发送。 注意:此通知代码仅在与低于版本 3.0 的 16 位版本的 Windows 兼容时提供。 应用程序应为此任务使用 BS_OWNERDRAW 按钮样式和 DRAWITEMSTRUCT 结构。 该按钮的父窗口通过 WM_COMMAND 消息接收 BN_UNPUSHED 通知代码。 |
NM_CUSTOMDRAW(按钮) | 通知按钮控件的父窗口按钮上的自定义绘图操作。 该按钮控件会以 WM_NOTIFY 消息的形式发送此通知代码。 |
WM_CTLCOLORBTN | 在绘制按钮之前,WM_CTLCOLORBTN 消息将发送到按钮的父窗口。 父窗口可以更改按钮的文本和背景色。 但是,只有所有者绘制的按钮响应处理此消息的父窗口。 |
结构
主题 | 目录 |
---|---|
BUTTON_IMAGELIST | 包含有关与按钮控件一起使用的图像列表的信息。 |
BUTTON_SPLITINFO | 包含定义拆分按钮的信息(BS_SPLITBUTTON 和 BS_DEFSPLITBUTTON 样式)。 与 BCM_GETSPLITINFO 和 BCM_SETSPLITINFO 消息一起使用。 |
NMBCDROPDOWN | 包含有关 BCN_DROPDOWN 通知的信息。 |
NMBCHOTITEM | 包含有关鼠标在按钮控件上移动的信息。 |
常量
主题 | 目录 |
---|---|
按钮样式 | 指定按钮样式的组合。 如果使用 BUTTON 类以及 CreateWindow 或 CreateWindowEx 函数创建按钮,则可以指定下面列出的任何按钮样式。 |